Mysql忘记root账号密码

1.第一步:修改配置文件免密码登录mysql

vi /etc/my.cnf 
image.jpeg

在 [mysqld]最后加上如下语句 并保持退出文件:

skip-grant-tables

重启mysql服务:

service mysqld restart

2.第二步给root用户重置密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> ALTER USER 'root'@'localhost' IDENTIFIED by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql>  ALTER USER 'root'@'localhost' IDENTIFIED by 'dba$123';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> 

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements解决方法:

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.52 sec)
set global validate_password.length=4; 
set global validate_password.policy=0;
ALTER USER 'root'@'localhost' IDENTIFIED by 'dba$123';

3.还原my.cnf

service mysqld restart

4.开启远程访问

update user set host='%' where user='root'; flush privileges;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容