登录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>