码迷,mamicode.com
首页 > 数据库 > 详细

ERROR 1045 (28000): Access denied for user ‘roort‘

时间:2018-05-04 16:51:04      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:ERROR 1045 (28000)   ERROR 1044 (42000)   

 

问题现象:

错误提示:

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

ERROR 1045 (28000): Access denied for user 'roort'@'localhost' (using password: YES)

故障原因:

mysql数据库的user表里面有用户名为空的账户,即匿名用户。导致登录的时候虽然用的是root,但实际是匿名登录的,通过错误提示''@'localhost',可以看出来。

解决方法:

1、停止mysqld服务

   [root@Paul ~]# service mysqld stop

2、在配置文件/etc/my.cnf添加skip-grant-tables一行,跳过密码验证

   [root@Paul ~]# vim /etc/my.cnf

[mysqld]

datadir=/data/mysql

user=mysql

log-bin=mysql-bin

basedir=/usr/local/mysql

skip-grant-tables            // 添加skip-grant-tables

3、启动mysqld服务,在新开终端输入

 [root@Paul ~]# mysql

 mysql> use mysql;

 mysql> select user from user;

+------+

| user |

+------+

| root |

| root |

| root |

|    |

|    |

| root |

6 rows in set (0.00 sec)

可以看到里面有2个用户名为空的匿名账户

 

mysql> delete from user where user='';

Query OK, 2 rows affected (0.00 sec)

 

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 

4、在配置文件/etc/my.cnf删掉skip-grant-tables



ERROR 1045 (28000): Access denied for user ‘roort‘

标签:ERROR 1045 (28000)   ERROR 1044 (42000)   

原文地址:http://blog.51cto.com/437549/2112758

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!