關於mysql登入出現報錯資訊:ERROR1045(28000)的解決方法

餘二五發表於2017-11-15

登入mysql資料庫出現報錯資訊ERROR 1045(28000)如下:

1
2
3
[root@RedHat-2 ~]# mysql -uroot -p fanshine
Enter password: 
ERROR 1045 (28000): Access denied for user `root`@`localhost` (using password: YES)

分析:資料庫存在空使用者所致

解決:

  1. 停止mysql服務

1
[root@RedHat-2 ~]# service mysqld stop

2.進入mysql安全模式

1
[root@RedHat-2 ~]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

注:–skip-grant-tables 啟動mysql時不啟動grant-tables,授權表;–skip-networking關閉MySQL的TCP/IP連線方式,跳過網路 

3.登入mysql資料庫

1
[root@RedHat-2 ~]# mysql -u root mysql

4.

1
mysql> use mysql;

5.查詢

1
mysql> select user,host,password from user;

結果如下:

1
2
3
4
5
6
7
+------+-----------+-------------------------------------------+
| user | host      | password                     |
+------+-----------+-------------------------------------------+
|    | localhost |
 root | localhost | *19A893FC29DBD6E2C8EAF9E248EA22AA1E1A24B7 |
| root | 127.0.0.1 | *19A893FC29DBD6E2C8EAF9E248EA22AA1E1A24B7 |
+------+-----------+-------------------------------------------+

6.刪掉空使用者

1
mysql> delete from user where user=``;

7.退出

1
mysql> quit

8.啟動服務

1
[root@RedHat-2 ~]# service mysqld start

9.重新登入

1
2
[root@RedHat-2 ~]# mysql -u root -p
Enter password:
1
輸入密碼登入即可。

本文轉自 SoulMio 51CTO部落格,原文連結:http://blog.51cto.com/bovin/1963178,如需轉載請自行聯絡原作者


相關文章