服务器MYSQL数据库开启远程访问
windows下mysql管理神器navicat远程登录MySQL时提示无法链接,除了排除防火墙是否开放3306端口外,就需要检查授权是否正确。
默认的账号的host属性都是localhost,意思是这个账号只能本地使用,如果要使用某个账号来远程登录,必须将账号的host属性值更改成%。
允许所有IP访问
当你远程登录MySQL时,使用的账号要有特殊要求。
默认的账号的host属性都是localhost,意思是这个账号只能本地使用,如果要使用某个账号来远程登录,必须将账号的host属性值更改成%。
a,进入数据库:
1 | mysql -u root -p |
b,切换到 mysql库:
1 | use mysql; |
c,查看用户表,看到当前host是localhost,只允许本地访问。
1 | MySQL [mysql]> select host,user from user; |
d,更新user用户表:
1 | mysql> update user set host = '%' where user = 'root'; |
e,强制刷新权限:
1 | mysql> flush privileges; |
f,再次查看用户表,root用户的host变成%,即允许所有的ip远程访问,如果需要指定具体的ip,就写上具体的ip即可。
1 | MySQL [mysql]> select host,user from user; |
执行的sql语句如下:
1 | update user set host = '%' where user = 'root'; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 月星塘!