Mysql5.7找回root密码

系统环境CentOS 6.x+Mysql5.7

1.修改my.cnf

在[mysqld]段添加配置skip-grant-tables

2.重启mysql

# /etc/init.d/mysqld restart
Stopping mysqld:                                           [  OK  ]
Starting mysqld:                                           [  OK  ]

3.登录mysql

# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.13 MySQL Community Server - GPL

Copyright (c) 2000, 2018, 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>

4.修改密码

注意mysql5.7使用下面的语句修改密码

mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

此报错通过度娘查询,需要运行下列语句后再修改密码

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

此报错说明密码不符合安全策略,默认的密码强度至少满足:大/小写字母+阿拉伯数字+特殊字符,长度不小于8位

mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

5.再次修改密码生效

mysql> alter user 'root'@'localhost' identified by '[email protected]';
Query OK, 0 rows affected (0.08 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

6.修改my.cnf去掉skip-grant-tables配置,重启mysql使用新密码登录即可

你可能感兴趣的:(Mysql的基础应用,mysql,运维,密码)