MySQL 5.7.9 重置root密码

Posted by Leon on 2015-11-04

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

修改my.cnf配置文件

# sudo vi /etc/my.cnf

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

1
2
3
4
5
6
7
8
[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