MySQL 8.4 Release Notes
8.7.5.2 设置 MySQL 功能的 TCP 端口上下文
如果您启用了某些 MySQL 功能,您可能需要将 SELinux TCP 端口上下文设置为这些功能使用的额外端口。如果 MySQL 功能使用的端口没有正确的 SELinux 上下文,那些功能可能无法正确地工作。
以下部分描述了如何为 MySQL 功能设置端口上下文。通常,相同的方法可以用来为任何 MySQL 功能设置端口上下文。关于 MySQL 功能使用的端口,请参阅MySQL 端口参考。
对于 MySQL 8.4,启用mysql_connect_any
不再是必要或推荐的。
setsebool -P mysql_connect_any=ON
为 组复制 设置 TCP 端口上下文
如果 SELinux 已启用,您必须将 组复制 通信端口的上下文设置为由 group_replication_local_address
变量定义的端口。mysqld 必须能够将 组复制 通信端口绑定到 组复制 通信端口上,并在那里监听。InnoDB 集群依赖 组复制,因此对集群中使用的实例也适用。要查看 MySQL 当前使用的端口,请执行:
semanage port -l | grep mysqld
假设 组复制 通信端口为 33061,设置端口上下文请执行:
semanage port -a -t mysqld_port_t -p tcp 33061
如果 SELinux 已启用,您必须将 X 插件通讯端口的上下文设置为由 mysqlx_port
变量定义的端口。mysqld 必须能够将 X 插件通讯端口绑定到 X 插件通讯端口上,并在那里监听。
假设 X 插件通讯端口为 33060,设置端口上下文请执行:
semanage port -a -t mysqld_port_t -p tcp 33060