安全模式重置法
基本的思路是,以安全模式启动mysql,这样不需要密码可以直接以root身份登录,然后重设密码。
1. 停止 MySQL 服务
[molo.wu@shark mysql (master)]$ sudo /usr/local/mysql/support-files/mysql.server stop
以安全模式启动MySQL,可使用 --skip-networking
,避免远程无密码登录 MySQL
[molo.wu@shark mysql (master)]$ sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking &
2. 打开新命令行窗口, 在安全模式下使用 root 、无密码模式登陆 MySQL
[molo.wu@shark mysql (master)]$ sudo /usr/local/mysql/bin/mysql -u root
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD('yourPassword') where User='root';
mysql> flush privileges;
mysql> quit;
对于 MySQL 5.7.6 以下的版本, update 密码步骤需要改为:
# mysql> update user set password=PASSWORD('yourPassword') where User='root';
3. 重启 MySQL 服务
[molo.wu@shark mysql (master)]$ sudo /usr/local/mysql/support-files/mysql.server stop