Mysql 5.7及以后root用户找回密码方式
1. 停止mysql服务
systemctl stop mysqld
2. 设定MSQL启动的环境参数
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
3. 再次启动MYSQL,此时的进程受步骤2中设定的环境参数影响
systemctl start mysqld
4. 使用root用户登录
mysql -u root
5. 使用SQL更新root用户的密码,然后退出。下面的命令根据版本不同有差异
mysql> UPDATE mysql.user SET authentication_string = PASSWORD('我的新密码')
-> WHERE User = 'root' AND Host = 'localhost';
mysql> FLUSH PRIVILEGES;
mysql> quit
注意:
5.7.6 及以后应该使用Alter语句而不是使用update
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '我的新密码';
否则会显示警告信息
6. 停止mysql服务
systemctl stop mysqld
7. 取消MSQL启动的环境参数设定,下次启动就是正常启动
systemctl unset-environment MYSQLD_OPTS
8. 再次启动MYSQL
systemctl start mysqld
9. 使用root用户登录,测试新密码是否能登录
mysql -u root -p