error 1044 (42000):access denied for user ''@'localhost' to database 'quickapp' 解决方法

时间:2022-02-02 19:19:42

在虚拟机上重新创建一个数据库时,一直出现这个报错:error 1044 (42000):access denied for user ''@'localhost' to database 'quickapp'

在网上查找了半天,有以下三种说法:

  1. 对该数据库权限不足。
  2. 参数问题。
  3. user的user列存在空值记录。

最后我解决成功,发现是第三种情况,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的''@'localhost'可以看出来。解决方法如下:

编辑my.cnf文件。输入命令:

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

在[mysqld]下面加入skip-grant-tables  字段,如图

error 1044 (42000):access denied for user ''@'localhost' to database 'quickapp' 解决方法

保存后退出,重启mysql服务,之后就能进行数据库操作了。