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

我刚刚在Mac OS X上安装了MySQL。 下一步是设置根用户密码,所以我接下来做了这个。

1.启动终端应用程序,访问Unix命令行。 2.在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开始,"password "字段已被重新命名为 "authentication_string"。 当改变密码时,使用下面的查询来改变密码。 所有其他命令保持不变。

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

Update:在8.0.15版本中(也许在该版本之前已经有了),PASSWORD()函数不能工作,正如下面的评论中提到的。你必须使用。

UPDATE mysql.user SET authentication_string='password' WHERE User='root';

评论(8)

如果你不记得你为root设置的密码,需要重新设置,请按照以下步骤进行。

1.停止mysqld服务器,这在每个安装中都有所不同 2.在安全模式下运行服务器,权限绕过

sudo mysqld_safe --skip-grant-tables;

3.在一个新的窗口中连接到数据库,设置一个新的密码并刷新权限&退出。

mysql -u root

对于早于MySQL 5.7的MySQL,使用。

UPDATE mysql.user SET Password=PASSWORD('your-password') WHERE User='root';

对于MySQL 5.7以上版本,请使用。

USE mysql;

更新 mysql.user SET authentication_string=PASSWORD("your-password") WHERE User='root';`。

刷新并退出。

刷新权限;

\q

4.停止安全模式的服务器,重新启动你的常规服务器。新的密码现在应该可以使用了。对我来说,这个方法很有效 :)

评论(10)

一旦你安装了MySQL,你就需要建立"root"密码。如果你不建立根密码,那么,就没有根密码,你也不需要密码来登录。

因此,既然如此,你需要建立一个根密码。

使用终端输入以下内容。

安装。设置根用户密码。

/usr/local/mysql/bin/mysqladmin -u root password NEW_PASSWORD_HERE

如果你犯了一个错误,或需要改变根密码,请使用以下方法。

更改根密码。

cd /usr/local/mysql/bin/
./mysql -u root -p
> Enter password: [type old password invisibly]

use mysql;
update user set password=PASSWORD("NEW_PASSWORD_HERE") where User='root';
flush privileges;
quit
评论(1)