MySQL 5.7.9 重置root密码

悲催数据库密码忘记了,手动重置一下。系统为CentOS7.0_64,数据库为MySQL5.7.9。以下记录步骤:

修改my.cnf配置文件

# sudo vi /etc/my.cnf

在[mysqld]的段中加上一句:skip-grant-tables,如下:

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

# ON/OFF/FORCE/FORCE_PLUS_PERMANENTvalidate-password=OFF 
# 是否使用密码验证该插件(及强制/永久强制使用)
validate-password=OFF  

重启服务

# sudo systemctl restart mysqld

登陆并修改密码

# mysql -uroot

# mysql> use mysql

修改密码

MySQL 5.7.6 以及最新版本:

# mysql> update user set authentication_string=PASSWORD('newpass') where User='root';

MySQL 5.7.5 或更早之前的版本r:

# mysql> update user set password=PASSWORD('newpass') where User='root';

登陆测试

将my.cnf的设置修改回来,重启MySQL服务,并登陆测试:

# mysql -u root -p

输入设置的密码,测试修改成功。

参考

How to Reset the Root Password