Mysql上root用户找回密码方式

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

你可能感兴趣的:(Mysql上root用户找回密码方式)