MySQL 8.0 参考手册  / 第 6 章 安全  / 6.7 SELinux  / 6.7.5 SELinux TCP 端口上下文  /  6.7.5.2 设置MySQL特性的TCP端口上下文

6.7.5.2 设置MySQL特性的TCP端口上下文

如果启用某些 MySQL 功能,则可能需要为这些功能使用的其他端口设置 SELinux TCP 端口上下文。如果 MySQL 功能使用的端口没有正确的 SELinux 上下文,这些功能可能无法正常运行。

以下部分描述了如何为 MySQL 功能设置端口上下文。通常,可以使用相同的方法为任何 MySQL 功能设置端口上下文。有关 MySQL 功能使用的端口的信息,请参阅 MySQL 端口参考

为组复制设置 TCP 端口上下文

如果启用了 SELinux,则必须为 Group Replication 通信端口设置端口上下文,该端口由 group_replication_local_address 变量定义。mysqld必须能够绑定到 Group Replication 通信端口并在那里监听。InnoDB Cluster 依赖于组复制,因此这同样适用于集群中使用的实例。要查看 MySQL 当前使用的端口,请发出:

semanage port -l | grep mysqld

假设 Group Replication 通信端口为 33061,通过发出以下命令设置端口上下文:

semanage port -a -t mysqld_port_t -p tcp 33061
为文档存储设置 TCP 端口上下文

如果启用了 SELinux,则必须为 X Plugin 使用的通信端口设置端口上下文,该端口由 mysqlx_port变量定义。 mysqld必须能够绑定到 X 插件通信端口并在那里收听。

假设 X 插件通信端口为 33060,通过发出以下命令设置端口上下文:

semanage port -a -t mysqld_port_t -p tcp 33060