远程服务器连接本地Mysql

前段时间,为了测试,想把远程的一台服务器连上自己本地的sql,鼓捣了一天,最后还是失败了,原因在于远程的服务器是需要通过堡垒机跳转的,无法直接连接本地的数据库。

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

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

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

netstat -anlp | grep 3306

合起来可以用telnet ip  端口号   方式测试远程主机端口是否打开

没有打开的情况下,需要修改配置文件

具体见下面两条链接

https://blog.csdn.net/kelvin_yin/article/details/81154285

https://blog.csdn.net/fdipzone/article/details/52705507

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

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用户的访问权限设置成了可远程访问了。

 

参考链接

https://blog.csdn.net/qq_28423997/article/details/78361210

https://blog.csdn.net/hbysj/article/details/80819123

 


 

你可能感兴趣的:(SQL)