ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mydb'。
原因是因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的''@'localhost'可以看出来。
修改登录密码
mysql> use mysql;
Database changed
mysql> update user set password=password("123456") where user='root';
Query OK, 4 rows affected (0.01 sec)
Rows matched: 6 Changed: 4 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit;