登录mysql,报错:
Enter password:
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)

[root@node02 mysql57]# /usr/local/mysql57/bin/mysql -uroot -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@node02 mysql57]# 

这个是mysql密码不对引起的。
如果mysql密码实在想不出来了,怎么办呢?

解决方法如下:

[root@node02 mysql57]# vim /etc/my.cnf
#f增加:skip-grant-tables,用来跳过密码验证的过程
[mysqld]
explicit_defaults_for_timestamp=true
skip-grant-tables
#保存,退出后,重新mysql服务
[root@node02 mysql57]# /etc/init.d/mysqld57 restart          
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 
[root@node02 mysql57]# 

然后登录使用无密码登录mysql

Starting MySQL. SUCCESS! 
[root@node02 mysql57]# /usr/local/mysql57/bin/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.33 Source distribution

Copyright (c) 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;
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> update user set authentication_string="" where user="root";
Query OK, 0 rows affected (0.01 sec)
Rows matched: 1  Changed: 0  Warnings: 0

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

mysql> select user,authentication_string from user where user="root";
+------+-----------------------+
| user | authentication_string |
+------+-----------------------+
| root |                       |
+------+-----------------------+
1 row in set (0.00 sec)

mysql> quit
Bye

最后回到my.cnf配置文件,删除刚才添加的“skip-grant-tables”,保存,退出
最后重启mysql后,就可以了。

[root@node02 mysql57]# /etc/init.d/mysqld57 restart          
Shutting down MySQL. SUCCESS! 
Starting MySQL. SUCCESS! 
[root@node02 mysql57]# /usr/local/mysql57/bin/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.33

Copyright (c) 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> 
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐