mysql登入報錯 ERROR 1045 (28000),104528000
1、現象:
[root@localhost ~]# 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)免密碼使用root登入,然後查看user表、刪除空使用者
4)推出資料庫,修改my.cnf,去掉skip-grant-tables
5)重啟資料庫
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。