在OS X上设置MySQL root用户密码

我刚刚在Mac OS X上安装MySQL。下一步是设置root用户密码,所以我做了下一步:

>启动终端应用程序以访问Unix命令行。
>在Unix提示符下,我执行了这些命令:

$ cd /usr/local/mysql/bin
$ ./mysqladmin -u root password 'password'

但是,当我执行命令

$ ./mysql -u root,这是答案:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 224
Server version: 5.5.13 MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

我可以进入mysql命令行没有任何密码!

为什么是这样?

最佳答案
当您登录MySQL终端时,请尝试使用命令FLUSH PRIVILEGES。如果这不工作,请在MySQL终端中尝试以下命令集

$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET password=PASSWORD("NEWPASSWORD") WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

使用您想要的任何密码更改NEWPASSWORD。应该都设置!

更新:从MySQL 5.7开始,密码字段已重命名为authentication_string。更改密码时,请使用以下查询更改密码。所有其他命令保持不变:

mysql> UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User='root';

转载注明原文:在OS X上设置MySQL root用户密码 - 代码日志