您的位置:首页 > 数据库 > MySQL

mysql5.7忘记密码时修改密码

2016-09-06 14:58 267 查看


1.停库

service mysql stop

备份user.*文件
[root@zw-test-db mysql]# cp user.* ../bak 

2. 在参数文件 my.cnf  [mysqld] 加入skip-grant-tables 

3. 启动 

[root@zw-test-db mysql_3306]# mysqld --defaults-file=/data/mysql/mysql_3306/my3306.cnf  &
[1] 11886
[root@zw-test-db mysql_3306]# 

4.登陆,密码直接回车,不需要密码验证 

[root@zw-test-db mysql_3306]# mysql -S /tmp/mysql3306.sock -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.14-log MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

 
 
5. 修改密码:5.7之前是 password字段 ,5.7后变成了 authentication_string 

mysql> update mysql.user set authentication_string=password('123456') where user='root' and host='localhost'; 
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

6. 注释掉 /data/mysql/mysql_3306/my3306.cnf 里面新加的 skip-grant-tables 参数

7.用新密码登陆

[root@zw-test-db ~]# mysql -S /tmp/mysql3306.sock -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.14-log MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> 

8. 重启一下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息