解决办法:将localhost改成%.

在远程主机上-->

登陆mysql服务执行如下代码:

mysql -u root -p
mysql>use mysql;
mysql>update user set host =%'where user =’root’;
mysql>flush privileges;

 


 

中间异常:

在执行update语句时出现ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 错误。

则查询select host from user where user =  'root';

结果中host有 '%' 值就直接执行下面的代码

flush privileges;


法二:

权限分配,原理即是分配能链接的ip