Home  >  Article  >  Database  >  mysql登录报错ERROR1045(28000)_MySQL

mysql登录报错ERROR1045(28000)_MySQL

WBOY
WBOYOriginal
2016-06-01 12:59:541005browse

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)重启数据库

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn