ERROR 1044 (42000)

当安装mysql时,出现以下错误:

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

导致这个问题的根本原因是mysql数据库中的user表存在一个匿名的用户,在我们用mysql -uroot登录的时候,它默认还是按照匿名的方式登录;解决办法:

1.关闭mysql

   # service mysqld stop

2.屏蔽权限

   # mysqld_safe --skip-grant-table 

   屏幕出现: Starting demo from .....

注意,mysql5.6版本中没有mysqld_safe,把它替换为mysqld即可

3.新开起一个终端输入

   # mysql -u root mysql

   mysql> delete from user where USER='';

   mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误

   mysql> \q


你可能感兴趣的:(ERROR 1044 (42000))