项目中需要连接虚拟机上面的MySQL数据库,但是总是出错,怀疑本机是否有连接远程数据库的权限。
执行命令:
mysql> use mysql;
mysql> select host,user from user;
查看结果是不是root用户仅允许本地(localhost)登录,下面这个截图就是这种情况:
![](http://hoxis-github-io.qiniudn.com/151212-mysql-root-state.png)
mysql-root-state
是的话,就要修改它的host为%
,表示任意IP地址都可以登录。
mysql> update user set host = '%' where user = 'root';
执行完后可能提示error。再mysql> select host,user from user;
查看下吧。
root对应的host成了%
,表示可以任意IP地址登录了。
![](http://hoxis-github-io.qiniudn.com/151212-mysql-change-root-state.png)
mysql-change-root-state
mysql> flush privileges;
把缓存flush掉,在使用update语句修改用户记录后,需要FLUSH语句告诉服务器重载授权表。
文/hoxis(简书作者)
原文链接:http://www.jianshu.com/p/865a2df52590
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
原文链接:http://www.jianshu.com/p/865a2df52590
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。