前段时间,为了测试,想把远程的一台服务器连上本身本地的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用户的访问权限设置成了可远程访问了。
参考连接