1. 查看用户表是否有新用户及新用户的host是否为‘%’
select host,user,password from mysql.user;
2. 如果只有一个host为‘%’的用户,根据MySQL手册下面的描述:
其中两个账户有相同的用户名monty和密码some_pass。两个账户均为超级用户账户,具有完全的权限可以做任何事情。一个账户 ('monty'@'localhost')只用于从本机连接时。另一个账户('monty'@'%') 可用于从其它主机连接。请注意monty的两个账户必须能从任何主机以monty连接。没有localhost账户,当monty从本机连接 时,mysql_install_db创建的localhost的匿名用户账户将占先。结果是,monty将被视为匿名用户。原因是匿名用户账户的 Host列值比'monty'@'%'账户更具体,这样在user表排序顺序中排在前面。
根据这段话的意思再添加一个用户名一样,host为‘localhost’的用户即可。