远程服务器链接本地Mysql

前段时间,为了测试,想把远程的一台服务器连上本身本地的sql,鼓捣了一天,最后仍是失败了,缘由在于远程的服务器是须要经过堡垒机跳转的,没法直接链接本地的数据库。sql

记录一下正常的流程,链接不上的话应该检查哪些步骤。数据库

1.先看在远程服务器上可否ping通本机的IP地址,ping 192.168.1.211,若是不能够就是网络问题bash

2.检查3306端口是否打开,服务器

netstat -anlp | grep 3306

合起来能够用telnet ip  端口号   方式测试远程主机端口是否打开网络

没有打开的状况下,须要修改配置文件测试

具体见下面两条连接.net

http://www.javashuo.com/article/p-xcwktmos-bc.html3d

http://www.javashuo.com/article/p-hdyvsvxj-cw.htmlcode

3.检查用户访问权限
MySQL建用户的时候会指定一个host,默认是127.0.0.1/localhost,那么这个用户就只能本机访问,其它机器用这个用户账号访问会提示没有权限,host改成%,表示容许全部机器访问。blog

select host,user,authentication_string,plugin from user;

执行结果以下:

咱们看host和user两列,host和user中root对应的值为localhost,即root用户的访问权限为localhost,想把该用户的访问权限设置可远程链接,咱们只须要把localhost更改成通配的%就能够了。上面的权限操做语句没有走通,这里就直接使用update语句来更改吧。

update user set host = "%" where user = "root";

修改以后就将root用户的访问权限设置成了可远程访问了。

 

参考连接

http://www.javashuo.com/article/p-zikxkxzp-kd.html

http://www.javashuo.com/article/p-dlpeuirf-gv.html