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