怎样重置MySQL的root密码

2011年8月12日 | 分类: 【技术】

实证未遂。

【参考】

参考:https://zhiwangdianzi.cn/mysqlzhong-zhi-mi-ma-xin-lao-ban-ben-ji-he/
参考:http://www.cnblogs.com/jyginger/archive/2011/04/27/2030017.html

【操作】

USER为用户名,PASSWORD为新密码):

1. mysqladmin命令:

mysqladmin -u USER -p password PASSWORD

该命令之后会提示输入原密码,输入正确后即可修改。

2. UPDATE user 语句:

先用root帐户登入mysql,然后执行:

UPDATE user SET password=PASSWORD('123456') WHERE user='root';
FLUSH PRIVILEGES;

3. SET PASSWORD 语句:

先用root命令登入mysql,然后执行:

SET PASSWORD FOR root=PASSWORD('123456');

4. 曾尝试用其他命令修改MySQL的root密码,但不奏效。直到找到这个方法。

参考:http://www.cnblogs.com/khler/archive/2011/02/10/1950819

首先SSH登录后,停止MySQL:

service mysqld stop

然后启动MySQL,但是跳过密码验证:

mysqld_safe --skip-grant-tables&

输出:

......
......
150715 13:28:46 mysqld_safe mysqld restarted

现在MySQL已经启动,可以不必输入密码进入MySQL命令:

mysql --user=root mysql

直接进入MySQL设置新密码:

mysql > update user set Password=PASSWORD('NewPassword');
mysql > flush privileges;
mysql > exit;

退出MySQL后,关闭当前MySQL进程:

killall mysqld_safe&

然后正常启动MySQL:

service mysqld stop

如果界面出现长期不刷新情况,尝试 Ctrl+C 以可以重新输入命令。