在虚拟机上重新创建一个数据库时,一直出现这个报错:error 1044 (42000):access denied for user ''@'localhost' to database 'quickapp'
在网上查找了半天,有以下三种说法:
- 对该数据库权限不足。
- 参数问题。
- user的user列存在空值记录。
最后我解决成功,发现是第三种情况,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的''@'localhost'可以看出来。解决方法如下:
编辑my.cnf文件。输入命令:
[root@localhost ~]# vim /etc/my.cnf
在[mysqld]下面加入skip-grant-tables 字段,如图
保存后退出,重启mysql服务,之后就能进行数据库操作了。