MySQL change root password

操作环境

OS: Ubuntu 16.04
MySQL: 5.7.22

停止MySQL服务与进入安全模式

1
2
3
4
5
6
7
8
# 停止MySQL服务
service mysql stop

# 进入安全模式,越过表权限和网络
mysqld_safe --skip-grant-tables --skip-networking &

# 越过输入密码进入
mysql -uroot mysql

进入安全模式更新root用户密码

1
2
# 更新新密码
UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='%';

开启MySQL服务即可用新密码登录

1
2
# 开启MySQL服务
service mysql start

MariaDB: 10.0.34

同上一样,只是用户表中的列名不一样

1
2
# 更新新密码
UPDATE mysql.user set Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root' AND Host='%';