如何设置MySQL允许用户远程登录?

项目中需要连接虚拟机上面的MySQL数据库,但是总是出错,怀疑本机是否有连接远程数据库的权限。

执行命令:

1
2
mysql> use mysql;
mysql> select host,user from user;

查看结果是不是root用户仅允许本地(localhost)登录,下面这个截图就是这种情况:

mysql-root-state

是的话,就要修改它的host为%,表示任意IP地址都可以登录。

1
mysql> update user set host = '%' where user = 'root';

执行完后可能提示error。再mysql> select host,user from user;查看下吧。

root对应的host成了%,表示可以任意IP地址登录了。

mysql-change-root-state

1
mysql> flush privileges;

把缓存flush掉,在使用update语句修改用户记录后,需要FLUSH语句告诉服务器重载授权表。

之后就可以在远程使用当前的数据库连接了。

hoxis wechat
一个脱离了高级趣味的程序员,关注回复1024有惊喜~
赞赏一杯咖啡
0%