CentOS 设置 3306 端口开放

背景介绍
MySQL 是一款广泛使用的开源关系型数据库管理系统,3306 是 MySQL 默认的端口号,在 CentOS 系统中,为了使 MySQL 能够被远程访问,需要开放 3306 端口,本文将详细介绍如何在 CentOS 系统中设置 3306 端口开放。
准备工作
- 确保已安装 MySQL 数据库。
- 获取 root 权限。
设置步骤
查看防火墙状态
查看 CentOS 系统的防火墙状态,确保防火墙已启动。
systemctl status firewalld
开放 3306 端口
编辑防火墙规则文件,开放 3306 端口。

vi /etc/firewalld/zones/public.xml
找到 <port protocol="tcp" port="3306"/> 这一行,如果不存在,则添加该行。
重启防火墙
编辑完成后,保存并退出,然后重启防火墙使配置生效。
systemctl restart firewalld
验证端口开放
使用 telnet 命令测试 3306 端口是否开放。
telnet 主机名 3306
如果连接成功,则说明 3306 端口已开放。
注意事项
- 在开放 3306 端口之前,请确保已经设置了合适的用户权限和密码,防止未授权访问。
- 如果您使用的是其他类型的防火墙,如 iptables,请参考相应的设置方法。
FAQs

问题:为什么我无法通过 3306 端口连接到 MySQL 数据库?
解答:请检查以下原因:
- 确保 MySQL 服务已启动。
- 确保 3306 端口已开放。
- 检查网络连接是否正常。
- 检查 MySQL 配置文件(my.cnf)中的
bind-address是否设置为0.0.0或您的服务器 IP 地址。
问题:如何关闭 3306 端口开放?
解答:您可以按照以下步骤关闭 3306 端口开放:
- 使用
vi或其他文本编辑器编辑防火墙规则文件(/etc/firewalld/zones/public.xml)。 - 删除
<port protocol="tcp" port="3306"/>这一行。 - 保存并退出,然后重启防火墙使配置生效。
- 使用
通过以上步骤,您可以在 CentOS 系统中成功设置 3306 端口开放,以便远程访问 MySQL 数据库,希望本文对您有所帮助!
