在mysql中,会存在匿名用户,新装mysql的时候,注意匿名用户需要进行删除。
查看匿名用户:
mysql> select current_user;
+--------------+
| current_user |
+--------------+
| @localhost   |
+--------------+
这就是没有user的用户。
在为root设置密码之后,能使用root登录,却不能使用普通登录,这也是因为优先匹配了匿名用户登录。遇见这问题,可以先直接以root登录,然后在删除匿名用户,就可以解决问题。具体步骤:
1、删除匿名用户
mysql> delete from mysql.user where user='';
2、验证
mysql> select user,host from mysql.user;
3、使用普通用户登录,正常登录。