Mysql远程连接报错2003 Cant connect toMySQL server on your address解决方案

在按照网上的教程设置好mysql数据库的远程连接配置后,仍然不能连接,提示Can't connect toMySQL server on "youraddress"。
这种情况很有可能是因为linux的防火墙有问题。这里有两个可能的情况:
防火墙屏蔽了相应的端口(如3306)
在你解除了对该端口的屏蔽,若是重启了服务器,虽然这个端口已经接触屏蔽,但是仍然会报2003的错误。
第一种的解决方案在网上已经很多,有的是直接一刀切,将防火墙禁用,这在实际生产环境是不可行的,所以应当采取第二种,开启相应的端口:

# 先查看防火墙的状态,若是开启的,则继续向下走,若没有开启,那就不是这个问题
systemctl status firewalld
# 查看防火墙控制的端口,看3306是否开启
firewall-cmd --list-all
# 若没有开启,则使用以下命令开启
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 然后重载防火墙
sudo firewall-cmd --reload

第二种的解决方案比第一种简单,因为防火墙已经设置好了相应的规则,只是不知道为什么没有生效,这时候就用万能的重启大法,重启防火墙,就可正常访问:

# 重启防火墙的命令
systemctl restart firewalld.service

猜你喜欢

转载自blog.csdn.net/qq_39162487/article/details/121456746