从命令行连接到MySQL


225

在Mac上如何从命令行连接到MySQL?(即给我看代码)

我正在做一个PHP / SQL教程,但是首先假设您已经在MySQL中。

Answers:


404

看到这里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

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


谢谢您,有2个问题1)您是否必须包括“-u”,“-p”等,还是用用户名等替换?2)如果未创建数据库,您是否将其留空?
Leahcim

2
可以根据您登录时的用户身份来设置MySQL身份验证,或者根本不进行身份验证,但这都不是一个好主意,在命令行中指定密码甚至会带来轻微的安全风险,因为它最终会出现在您的命令中历史记录和过程表。如果您忘记了密码,它将要求您输入密码。
dj_segfault

@Michael 1)更新。ALL-CAPS需要替换为实际值。将-u,-p,-h保留为2)是。登录后,键入show databases以查看数据库列表。
Nishant

3
@dj_segfault正确。因此,如果您离开时-p未指定密码,则会提示您输入密码。
Nishant

如果当前尚未创建数据库,则需要使用mysqladmin命令创建一个数据库。但是我相信,当您安装服务器时,会创建默认的“ mysql”数据库,其中包含所有架构和身份验证信息。您可以登录到该数据库(如果您有足够的特权)并从那里创建其他数据库。
dj_segfault

128

最佳做法是mysql -u root -p。然后,在您按Enter键后,MySQL将提示您输入密码。


25
详细地说,这可以防止您的密码显示在中.bash_history。使用当前投票最多的方法,如果某人获得了访问权限$HOME(并因此获得.bash_history),他们还将获得您的身份验证详细信息-太可怕了!这种入侵可能(并且确实)发生……
杰里米(Jeremy

您可以执行一个bash命令,而不会在.bash_profie中显示它。在这里阅读更多:commandlinefu.com/commands/view/1512/...
防滑Kadda

@Jeremy不仅如此,.bash_history而且top还有更多工具!您甚至可以保护文件安全,只需与其他合法用户共享计算机即可。
Melebius

+1是因为我的密码中包含特殊符号,并且在部分命令执行时不会解析,因此必须单独进行。
Jacksonkr '16

10

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

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


9

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

mysql-js>

首先,您应该:

mysql-js>\sql

其次:

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

最后:

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

3

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

mysql --user=root --password=mypass

这里,

root is the MySQL username
mypass is the MySQL user password

如果您输入的密码是空白的,这很有用。

例如,如果您root使用空密码调用了MySQL用户,则只需使用

mysql --user=root --password=

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.