首先使用root身份进入MySQL
mysql>use mysql; //进入mysql表
mysql> selecthost,user from user; //查看结果是不是root用户仅允许本地(localhost)登录
如果不是 执行以下语句修改
mysql>update mysql.user set Host='%' where HOST='localhost' and User='root';
mysql>flush privileges;
执行完后可能提示error.再mysql> select host,user from user;查看下吧.
如果root用户 host地方是% 的话 就表示可以远程登陆了
如果遇到了mysql远程可登录,本地无法登陆的问题。或者修改之后 原本root有密码 但是修改之后本地无密码可以登陆了
原因:mysql中一个用户名为空的访问本地权限的字段,所有本地登陆时优先匹配了这一条,就无法登陆了或者无密码了。
SELECT USER,HOST FROM USER;查询用户和主机
执行DROP USER ' '@localhost; 删除那条记录就OK了!