Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Setting the TCP Port Context for MySQL Features

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

如果 SELinux 已启用,您必须将 MySQL 路由器通讯端口的上下文设置为。假设 MySQL 路由器使用的额外通讯端口是默认的 6446、6447、64460 和 64470,在每个实例上设置端口上下文请执行:

semanage port -a -t mysqld_port_t -p tcp 6446
semanage port -a -t mysqld_port_t -p tcp 6447
semanage port -a -t mysqld_port_t -p tcp 64460
semanage port -a -t mysqld_port_t -p tcp 64470