场景:忘记mysql登录密码
[root@cloud ~]# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
环境:mysql5.7
解决:重置mysql密码
- 修改/etc/my.cnf,在[mysqld]代码块下,添加如下:
[mysqld]
skip-grant-tables
- 重启mysql
/etc/init.d/mysqld restart
- mysql -uroot -p 可以直接进入mysql命令行
[root@cloud ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.34-log Source distributionCopyright © 2000, 2021, Oracle and/or its affiliates.
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> use mysql;
mysql> update user set authentication_string=password(“123456”) where user=“root”;
mysql> flush privileges;
mysql> grant all privileges on . to ‘root’@’%’ identified by ‘123456’ with grant option;
mysql> flush privileges;
-
退出mysql命令行
-
去掉/etc/my.cnf中刚才添加的注释,重新启动mysql,即可用新的密码登录
参考自:
https://blog.csdn.net/vv19910825/article/details/82979563
https://blog.csdn.net/u010953706/article/details/95985946