標籤:
1、現象:
[[email protected] ~]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
2、原因:資料庫中存在空使用者所致
3、解決方式:
1)停用mysql服務:# service mysql stop
2)輸入命令:# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
3)登入資料庫:# mysql -u root mysql
4)mysql> use mysql;
5)mysql> select user,host,password from user; 結果例如以下:
+------+-----------------------+----------+
| user | host | password |
+------+-----------------------+----------+
| root | % | mima |
| root | localhost.localdomain | mima |
| root | 127.0.0.1 | mima |
| | localhost | |
| | localhost.localdomain | |
+------+-----------------------+----------+
6)將上面查詢出來的空使用者刪除:mysql> delete from user where user=‘‘;
7)退出資料庫:mysql> quit
8)啟動mysql服務:# service mysql start
9)又一次用命令‘mysql -u root -p’登入。OK。
或者:
1)找到mysql的設定檔。改動my.cnf。在當中增加skip-grant-tables
2)重新啟動資料庫service mysql restart
3)免password使用root登入,然後查看user表、刪除空使用者
4)推出資料庫。改動my.cnf。去掉skip-grant-tables
5)重新啟動資料庫
mysql登入報錯 ERROR 1045 (28000)