1、自己在公司服务器搭建了一个mysql5.6,后来发现ssh远程登录上那台服务器用root用户可以登录mysql,但在本地机器无法登录,查找资料后说可以把mysql库下user表里host字段为localhost的改为通配符%,如图

修改后本地可以登录。
2、但修改后,发现ssh远程登录上那台服务器用./mysql -u root -p 并输入密码无法登录mysql,报错为ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES),但用./mysql -u root可以登录,只是没有任何权限,个人感觉是匹配到了图中localhost那一行,疑问就是为什么用./mysql -u root -p无法登录? 图中第一条记录里的 %不是通配符吗按理可以匹配localhost啊?
3、当我把第一条记录复制后并只把%改为localhost后,用./mysql -u root -p输入密码就可以登录了。很奇怪,%不能匹配localhost?