mysql提示access denied for user ”@’localhost’ to database

  • Post author:
  • Post category:mysql

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服务是否启动。