本文分析了mysql登陆报错提示:ERROR 1045 (28000)的解决方法。分享给你们供你们参考,具体以下:mysql
1、问题:linux
公司linux系统的mysql数据库root用户设置过密码,但经常用命令'mysql -u root -p'登陆报错,有时又能登陆。登陆报错信息为:sql
1
2
3
|
[root@localhost ~]
# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied
for
user
'root'
@
'localhost'
(using password: YES)
|
2、缘由:数据库中存在空用户所致数据库
3、解决方法:vim
一、停用mysql服务:bash
1
|
# service mysql stop
|
二、输入命令:dom
1
|
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
|
或ui
cd /etc/mysql/conf.d/
vim mysqld.cnf
cd /etc/mysql/mysql.conf.d/
vim mysqld.cnf
重启 service mysql restart
三、登入数据库:spa
1
|
# mysql -u root mysql
|
四、.net
1
|
mysql> use mysql;
|
五、
1
|
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 | |
+------+-----------------------+----------+
六、将上面查询出来的空用户删除:
1
|
mysql> delete from user where user=
''
;
|
七、退出数据库:
1
|
mysql> quit
|
八、启动mysql服务:
1
|
# service mysql start
|
九、从新用命令:
1
|
mysql -u root -p
|