WithCoderWithCoderWithCoder

Centos7修改防火墙开启MySQL默认端口3306

个人在学习Centos环境下安装完MySQL,折腾了半天终于安装成功,本机测试连接没有问题.然后想远程连接MySQL,发现连接不上,由于个人对这块不是太熟,混乱之下连接是不是报2003就是报1130的错误.网络搜索说是可能没有给远程主机授权登录,然后又在服务器上面登录数据库,修改远程登录的权限(关于授权问题,可以参考本站文章远程连接MySQL数据库root账号报错:2003 - can't connect to MySQL server on '*'远程连接MySQL数据库root账号报错:1130 - Host is not allowed to connect to this MySQL server),完成之后,发现还是连接不上.

再次查阅之下,发现是开启了防火墙.关闭防火墙后再次尝试登陆,这次可以登录.但是出于安全考虑,系统防火墙是不能关闭的,在这种情况下,就需要设置防火墙,开放3306端口(有关Centos7下防火墙的设置,可以参考本站文章Centos7防火墙设置和管理).具体操作如下:

1. 防火墙打开3306端口号(端口号可以为一个范围,如:7000-8000)

    firewall-cmd --zone=public --add-port=3306/tcp --permanent

    下面3行是参数说明

    #–zone                            #作用域

    #–add-port=80/tcp#添加端口,格式为:端口/通讯协议

    #–permanent                  #永久生效,没有此参数重启后失效

2.防火墙删除指定端口号(端口号可以为一个范围,如:7000-8000)

    firewall-cmd --zone=public --remove-port=3306/tcp --permanent

3. 重启防火墙

    firewall-cmd --reload#重启firewall

4. 查看是否已经开放3306端口

    firewall-cmd --list-ports #查看已经开放的端口

欢迎分享交流,转载请注明出处:WithCoder » Centos7修改防火墙开启MySQL默认端口3306