mysql-doc-忘记密码

编辑my.cnf

1
2
3
4
5
6
7
8
9
10
11
vim /etc/my.cnf

# 在my.cnf的[mysqld]下面添加
skip-grant-tables

例如:

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

编辑完要重启mysql service mysqld restart

修改root密码

1
2
3
4
5
6
7
8
9
10
11
12
13
mysql -uroot -p # 直接按回车,密码为空

# 切换数据库到mysql
use mysql;

# 修改密码
update user set authentication_string=password('新密码') where user='root';

# 同步密码修改
flush privileges;

# 退出数据库
exit

还原my.cnf

1
2
3
vim /etc/my.conf

# 删掉之前添加的 skip-grant-tables 即可

编辑完要重启mysql service mysqld restart