MySQL 端口参考  /  简介

1 简介

MySQL 使用的端口数量取决于启用的功能、使用的组件、应用程序的连接方式以及环境的其他方面。

从安全的角度来看,端口应该只在需要时打开,以允许系统组件进行通信。在管理端口时,始终遵循最小权限原则,这意味着用户、进程、程序和其他系统组件只能访问其合法目的所需的 information 和资源。

端口访问的管理方式取决于环境的不同方面,例如操作系统功能、防火墙、安全工具、虚拟专用网络 (VPN) 的使用等等。一些 MySQL 安装包会协助配置核心 MySQL 端口的端口访问。例如,适用于 Windows 的 MySQL Installer Server 包会将访问规则添加到 Windows 防火墙,而适用于 Linux 的 MySQL 包会将访问规则添加到 SELinux 或 AppArmor。但是,MySQL 不会协助管理不常见、可选或非 MySQL 产品端口。在这些情况下,必须使用命令(如 SELinux 的以下命令)手动打开端口

$> semanage port -a -t mysqld_port_t -p tcp <port_open_to_mysqld>

有关为 MySQL 设置 SELinux 端口上下文的更多信息,请参阅 SELinux TCP 端口上下文.

一些 MySQL 功能使用 TCP 端口,这些端口位于 Linux 系统上的允许本地端口范围内 (32768 - 61000)。例如,默认的 MySQL X 协议端口为 33060,默认的 MySQL 管理连接端口为 33062。为了避免与其他应用程序发生端口冲突,请考虑配置 ip_local_port_range 参数以限制可用于自动端口分配的端口范围,或配置 ip_local_reserved_ports 参数以保留 MySQL 使用的端口。要检查您当前的 ip_local_port_rangeip_local_reserved_ports 配置

$ cat /proc/sys/net/ipv4/ip_local_port_range
$ cat /proc/sys/net/ipv4/ip_local_reserved_ports

有关 ip_local_port_rangeip_local_reserved_ports 配置说明,请参阅您的发行版文档。