从命令行连接到 MySQL

Posted

技术标签:

【中文标题】从命令行连接到 MySQL【英文标题】:connecting to MySQL from the command line 【发布时间】:2011-07-05 03:40:56 【问题描述】:

如何在 Mac 中? (即给我看代码)

我正在做一个 php/SQL 教程,但它首先假设您已经在 mysql 中。

【问题讨论】:

【参考方案1】:

请看这里http://dev.mysql.com/doc/refman/5.0/en/connecting.html

mysql -u USERNAME -pPASSWORD -h HOSTNAMEORIP DATABASENAME 

以上选项表示:

-u: username
-p: password (**no space between -p and the password text**)
-h: host
last one is name of the database that you wanted to connect. 

查看链接,那里有详细说明!


正如Rick 已经提到的,您可以通过不像这样传递密码来避免将密码作为命令的一部分传递:

mysql -u USERNAME -h HOSTNAMEORIP DATABASENAME -p

编辑此答案的人:请不要在 -pPASSWORD 之间添加空格

【讨论】:

谢谢您,2 个问题 1)您是否必须包含“-u”“-p”等,或者是否被用户名等替换 2)如果没有创建数据库,您是否就离开那个空白? 可以根据你登录的用户来设置MySQL认证,或者根本不认证,但这都不是一个好主意,在命令行指定密码甚至有点安全风险,因为它最终会出现在您的命令历史记录和进程表中。如果您遗漏密码,它会要求您输入密码。 @Michael 1) 已更新。 ALL-CAPS 需要替换为实际值。保留 -u, -p, -h 原样 2) 是的。登录后输入show databases查看数据库列表。 @dj_segfault 正确。所以,如果你离开,-p 没有指定密码,它会提示你输入密码。 如果您当前没有创建数据库,则需要使用 mysqladmin 命令创建一个。但我相信当您安装服务器时,会创建默认的“mysql”数据库,其中包含所有架构和身份验证信息。您可以登录该数据库(如果您有足够的权限)并从那里创建其他数据库。【参考方案2】:

最佳做法是mysql -u root -p。 然后 MySQL 会在你回车后提示输入密码。

【讨论】:

详细地说,这可以防止您的密码出现在.bash_history 中。使用当前投票最多的方法,如果有人获得了对$HOME(以及.bash_history)的访问权限,那么他们也会获得您的身份验证详细信息——太可怕了!这种入侵可能(和does)发生...... 您可以执行 bash 命令而不会显示在 .bash_profie 中。在这里阅读更多:commandlinefu.com/commands/view/1512/… @Jeremy 不仅在 .bash_history 中,在 top 中还有更多工具!您甚至可以保护您的文件,只需与其他合法用户共享计算机。 +1 因为我的密码里面有特殊符号,当它是命令的一部分时它不会解析,它必须单独完成。【参考方案3】:

在运行 MySQL Shell 之后,您会看到以下内容:

mysql-js>

首先,你应该:

mysql-js>\sql

其次:

 mysql-sql>\connect username@servername (root@localhost)

最后:

Enter password:*********

【讨论】:

如果我只有shell,如何导入mysql文件?它不会看到我的本地文件系统。我需要客户还是 Shell 是客户?【参考方案4】:

使用以下命令连接到您的 MySQL 数据库

mysql -u 用户名 -h 主机名 -p

【讨论】:

【参考方案5】:

使用正确的 MySQL 用户名和密码直接连接到 MySQL 的一种方法是:

mysql --user=root --password=mypass

这里,

root is the MySQL username
mypass is the MySQL user password

如果您的密码为空,这很有用。

例如,如果您的 MySQL 用户名为 root 且密码为空,则只需使用

mysql --user=root --password=

【讨论】:

【参考方案6】:

简短、甜美、完整:(而且安全)

mysql -u <username> -h <hostname> -P <port> <database> -p

这会

    将您连接到远程数据库(包括端口) 不要将您的密码存储在您的.bash_history

【讨论】:

【参考方案7】:

有时您可能需要为端口添加-P

mysql -u USERNAME -pPASSWORD -h HOSTNAME -P PORTNUMBER DATABASE;

【讨论】:

【参考方案8】:

在我的例子中,它可以在 Mac 上使用以下命令。

运行 MySQL Shell 后,您会看到以下内容:

mysql-js>

首先,你应该:

mysql-js>\sql

第二步:

MySQL  SQL > \c --mysql username@host

最后根据提示输入密码

【讨论】:

【参考方案9】:

这对我有用::-

mysql --host=hostNameorIp --user=username --password=password  

mysql --host=hostNameorIp --user=username --password=password database_name

【讨论】:

【参考方案10】:

这些步骤适用于 Windows 10

    进入 MySQL 安装目录,然后进入 bin 目录(mysql.exe 必须显示在文件列表中) 在同一位置打开 cmd 运行mysql -u [username] -p(如果没有设置密码,不需要加-p)然后回车

【讨论】:

【参考方案11】:

奇怪的是,尽管有很多(类似的)答案,但没有人建议这样做:

您可以在 $HOME 文件夹中创建一个.my.cnf 文件,其中包含:

[client]
host=127.0.0.1
port=3306
database=google
user=root
password=root

你只需要这样做

$> mysql

连接到那个数据库。

需要考虑的一些关键说明

在该文件中存储密码不是一个好主意。在最坏的情况下,请发送chmod 400 .my.cnf。但最好是将密码存储在其他地方。 *** 上的其他线程为此提供了很好的答案。 您可以自定义该文件中的数据,剩下的交给您。例如,删除 database 行允许您执行 mysql another-db-name

【讨论】:

以上是关于从命令行连接到 MySQL的主要内容,如果未能解决你的问题,请参考以下文章

为啥从 powershell 命令行连接到 github 时出错?

如何从命令行连接到托管的 Team Foundation Service

通过命令行连接到 SMB 服务器

通过命令行连接到 smtp.gmail.com

命令行连接到无线网络在 ubuntu 10.04 上不起作用

zookeeper学习:使用命令行连接到服务器