暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL 6.7.6 SELinux 故障排除

原创 由迪 2021-09-30
618

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

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

从 MySQL 8.0.14 到 MySQL 8.0.17, mysql_connect_anySELinux 布尔值必须设置为ON. 从 MySQL 8.0.18 开始,mysql_connect_any不需要或不推荐启用 。

setsebool -P mysql_connect_any=ON
为组复制设置 TCP 端口上下文


如果启用了 SELinux,则必须为 Group Replication 通信端口设置端口上下文,该端口上下文由group_replication_local_address 变量定义 。mysqld必须能够绑定到 Group Replication 通信端口并在那里监听。InnoDB Cluster 依赖于 Group Replication,因此这同样适用于集群中使用的实例。要查看 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 Plugin 通信端口是 33060,通过发出以下命令设置端口上下文:

semanage port -a -t mysqld_port_t -p tcp 33060
为 MySQL 路由器设置 TCP 端口上下文


如果启用了 SELinux,则必须为 MySQL Router 使用的通信端口设置端口上下文。假设 MySQL Router 使用的其他通信端口是默认的 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
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论