忘记MySQL5.7的root用户密码的解决方法

Posted by
  1. 停止运行的MySQL进程,后配置跳过授权表启动MySQL
service mysqld stop
2. 先打开一个Terminal,在 /usr/local/mysql/bin ,下执行:
sudo mysqld_safe --skip-grant-tables

3.或者 在/etc/my.cnf文件的[mysqld]下添加: skip-grant-tables, 重启mysql服务: service mysqld restart

4.再新打开一个Terminal, 打开安全模式的mysql, 连接的时候不需要密码:

mysql -u root -p
--  MySQL5.7版本
UPDATE `mysql`.`user` SET `authentication_string`=PASSWORD('123456') WHERE `User`='root' AND `Host`='localhost';
--  MySQL5.6以前部分版本
UPDATE `mysql`.`user` SET `Password`=PASSWORD('123456') WHERE `User`='root' AND `Host`='localhost';
//最后操作命令:
FLUSH PRIVILEGES;