MySQL远程连接不上的解决方法
1.排除网络或防火墙问题
先看是否能ping通远程服务器,ping 192.168.1.211,如果不可以就是网络问题。然后,检查端口是否被防火墙挡住了,telnet 192.168.1.211 3306,如果连接失败,配置防火墙。
配置防火墙,开启3306端口
1.开放端口 firewall-cmd --add-port=3306/tcp --permanent
2.重启防火墙 firewall-cmd --reload
2.检查MySQL配置
如果开启了防火墙,telnet还是失败,通过netstat查看3306的端口状态:
netstat -apn|grep 3306
tcp6 0 0 :::3306 :: LISTEN 62718/mysqld
注意地方,这说明3306被绑定到了本地。检查一下my.cnf的配置,这里可以配置绑定ip地址。
bind-address=addr
不配置或者IP配置为0.0.0.0,表示监听所有客户端连接。
注意:买的ucloud服务器 内外端口都要开启一下
外网防火墙如何放行端口?
您好,关于您这边主机端口无法访问的问题,是主机绑定的默认防火墙没有放行对应端口导致的,建议您可以按照以下步骤操作。
(1)您可以首先在防火墙页面新建一个防火墙或者复制默认防火墙
https://console.ucloud.cn/unet/ufirewall
(2)然后在新建的防火墙中添加需要放行的端口,如:3306和22等
(3)点击确定之后,完成新防火墙的创建
(4)接下来返回主机页面将新创建的外网防火墙绑定到您的云主机上
https://console.ucloud.cn/uhost/uhost
完成以上若干步操作之后 您就可以访问相对应端口了
3.检查用户访问权限
MySQL建用户的时候会指定一个host,默认是127.0.0.1/localhost,那么这个用户就只能本机访问,其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问。
最后,别忘了重启mysql使配置生效。