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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ERROR 1045 (28000): Access denied for user ‘roort‘相关的知识,希望对你有一定的参考价值。

 

问题现象:

错误提示:

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服务

   [[email protected] ~]# service mysqld stop

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

   [[email protected] ~]# 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服务,在新开终端输入

 [[email protected] ~]# 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‘的主要内容,如果未能解决你的问题,请参考以下文章

mysql ERROR 1045 (28000): 错误解决办法

mysql ERROR 1045 (28000): 错误解决办法

mysql ERROR 1045 (28000): 错误解决办法

mysql登录时,ERROR 1045 (28000): 错误解决办法

用grant命令为用户赋权限以后,登录时,出现:ERROR 1045 (28000)

ERROR 1045 (28000): Access denied for user ‘root‘@