程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql登錄報錯ERROR1045(28000)

mysql登錄報錯ERROR1045(28000)

編輯:MySQL綜合教程

mysql登錄報錯ERROR1045(28000)


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)重啟數據庫

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved