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): 错误解决办法