mysql提示access denied for user ''@'localhost' to database

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

原因是因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的''@'localhost'可以看出来。


设置密码

mysql> update user set password=PASSWORD('password') where user='root';
Query OK, 2 rows affected (0.02 sec)
Rows matched: 3  Changed: 2  Warnings: 0

mysql> FLUSH PRIVILEGES; 
mysql> quit 

之后按正常方法连接mysql就可以了。如果不能连接,查看下mysql服务是否启动。


你可能感兴趣的:(mysql)