MySQL5.7 版本重置 root 密码

时间:2022-10-14 15:36:55

1、修改配置文件:

# vim /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables

添加了最后一行:skip-grant-tables,保存以后,启动服务:

# systemctl start mysqld.service

也可以使用以前的命令启动服务:

# service mysqld start

如果是比MySQL5.7 更早的版本,可以使用以下命令直接启动:

# mysqld_safe --skip-grant-tables &


2、连接数据库修改密码:

# mysql -uroot

mysql> update mysql.user set authentication_string=password('111111') where user='root';
mysql> flush privileges;
mysql> quit

注意:MySQL5.7 版本以后 user 表里面的 password 字段已经不存在了,将加密后的用户密码存储于 authentication_string 字段。


3、将配置表里面新增的skip-grant-tables注释或者删掉并重启服务即可。