项目中需要连接虚拟机上面的MySQL数据库,但是总是出错,怀疑本机是否有连接远程数据库的权限。
执行命令:
mysql> use mysql;
mysql> select host,user from user;
查看结果是不是root用户仅允许本地(localhost)登录,下面这个截图就是这种情况:
是的话,就要修改它的host为%
,表示任意IP地址都可以登录。
mysql> update user set host = '%' where user = 'root';
执行完后可能提示error。再mysql> select host,user from user;
查看下吧。
root对应的host成了%
,表示可以任意IP地址登录了。
mysql> flush privileges;
把缓存flush掉,在使用update语句修改用户记录后,需要FLUSH语句告诉服务器重载授权表。
如果觉得有用,欢迎关注我的微信,有问题可以直接交流: