远程链接MySQL失败,可能有一下缘由:mysql
一、小伙子/小姑凉注意一下你的ip是否输入正确了!!
二、网络或防火墙问题
1)、排查网络问题sql
使用命令:ping 192.168.1.1 查看网络请求是否超时。服务器
正常接收数据进行下一步排查网络
2)、排查云服务器防火墙是否将其挡住。tcp
使用命令:telnet 192.168.1.1 3306,若是链接失败,有两个缘由阿里云
a)、查看云服务器端口是否开放。spa
开放状况(我这边使用的是阿里云):3d
开放端口配置:code
若是云服务器的端口已经开放了。可是仍是访问不到服务器的3306端口。接着往下看。blog
b)、查看服务器查看防火墙是否开启。
# systemctl status firewalld
我这边服务器是未开放状态,因此就不存在被防火墙拦截这一说。
若是开启了防火墙,telnet仍是失败,那就经过netstat查看3306的端口状态:
# netstat -talnp 3306 tcp6 0 0 :::3306 :::* LISTEN 4591/mysqld (正常状况)
若是netstat 3306 端口没有出现上面的状况。那么须要你将你本机的mysql服务启动动一下再次进行线下链接。
三、检查用户访问权限
1)、进入msyql
2)、查看用户访问权限
如图所示,查看你远程帐户(User)所对应的 Host 是否为 %;
若是远程帐户所对应的Host为 127.0.0.1/localhost,那么这个用户就只能本机访问,其它机器用这个用户账号访问是没有权限,必须host改成%,表示容许全部机器访问。
修改命令以下:
mysql> update user set host='%' where user='你要修改的帐户'; ##修改为功后记得刷新一下权限 mysql> flush privileges;
最后在查看一下权限,进行远程链接。
若有不对之处但愿你们指点。共同进步,谢谢!