详解mysql5.7密码忘记解决方法

吾爱主题 阅读:140 2024-04-05 14:20:32 评论:0

ENV:

?
1 2 3 4 5 6 7 8 9 10 11 12 [root@centos7 ~]# uname -r 3.10.0-514.el7.x86_64 [root@centos7 ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [root@centos7 ~]# rpm -qa mysql [root@centos7 ~]# rpm -qa |grep mysql mysql-community-common-5.7.26-1.el7.x86_64 mysql-community-client-5.7.26-1.el7.x86_64 mysql57-community-release-el7-11.noarch mysql-community-server-5.7.26-1.el7.x86_64 mysql-community-libs-5.7.26-1.el7.x86_64 mysql-community-libs-compat-5.7.26-1.el7.x86_64

登陆时出错:

?
1 2 3 [root@centos7 ~]# mysql -u root -p Enter password : ERROR 1045 (28000): Access denied for user 'root' @ 'localhost' (using password : NO )

密码忘记了(和刚安装后不知道密码一样)

网上有人说mysql的密码是空密码,其实在mysql5.7版本之后,密码不再是空密码了,

如果是刚安装的,可以在mysql的日志文件找到

?
1 grep 'temporary password' /var/log/mysqld.log

补充:如果找到mysql提供的密码,可以使用

mysqladmin -u root -p 'mysql提供的密码' password ‘自己的新密码' 

直接修改mysql的密码,但这种方法存在安全隐患,毕竟密码在命令行上显示了,不建议但不反对。

如果是忘记,修改如下:

1.修改 /etc/my.cnf,加入 skip-grant-tables;

?
1 [root@centos7 ~]# vim /etc/my.cnf

空白位置加入,并保存退出;

?
1 2 3 4 [mysqld]       skip- name -resolve skip- grant -tables
?
1 [root@centos7 ~]# systemctl restart mysqld

2.空密码直接进入mysql;

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [root@centos7 ~]# mysql -u root -p Enter password : (这里是空密码,直接回车) Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.26 MySQL Community Server (GPL)   Copyright (c) 2000, 2019, 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>

进入mysql库;

?
1 2 3 4 5 6 mysql> use mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A   Database changed mysql>

这里的mysql并不是没变,数据库位置是变化的;

3.修改密码:UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';

?
1 2 3 4 5 6 7 8 9 mysql> UPDATE user SET authentication_string= PASSWORD ( 'newpassword' ) where USER = 'root' ; Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1   mysql> mysql> FLUSH PRIVILEGES ; Query OK, 0 rows affected (0.00 sec)   mysql>

4改回/etc/my.cnf

注释掉 #skip-grant-tables

?
1 [root@centos7 ~]# vim /etc/my.cnf
?
1 2 3 4 [mysqld]       skip- name -resolve #skip- grant -tables
?
1 [root@centos7 ~]# systemctl restart mysqld

5.用新的密码再进入mysql;

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [root@centos7 ~]# mysql -u root -p Enter password : (之前演示为newpassword) Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.7.26   Copyright (c) 2000, 2019, 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>

6.更改root密码,更改root密码: alter user 'root'@'localhost' identified by '密码';

修改用户密码;

?
1 ALTER USER testuser IDENTIFIED BY '123456' ;

修改当前登录用户

?
1 ALTER USER USER () IDENTIFIED BY '123456' ;
?
1 2 3 4 5 6 mysql> alter user user () identified by 'Linuxpassword!@#' ; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements mysql> alter user user () identified by 'LINUX123password!@#' ; Query OK, 0 rows affected (0.00 sec)   mysql>

可以看出,密码的复杂度有了很大的要求;

7.修改完成后就可以继续操作mysql了

?
1 2 3 4 5 6 7 8 9 10 11 12 13 mysql> show databases; + --------------------+ | Database      | + --------------------+ | information_schema | | mysql       | | performance_schema | | sys        | + --------------------+ 4 rows in set (0.00 sec)   mysql> exit Bye

以上所述是小编给大家介绍的mysql5.7密码忘记解决方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://blog.csdn.net/silent_ghost/article/details/89819511

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容