MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  MySQL 機能の TCP ポートコンテキストの設定

6.7.5.2 MySQL 機能の TCP ポートコンテキストの設定

特定の MySQL 機能を有効にする場合は、それらの機能で使用される追加ポートの SELinux TCP ポートコンテキストの設定が必要になることがあります。 MySQL 機能で使用されるポートに正しい SELinux コンテキストがない場合、機能が正しく機能しない可能性があります。

次の各セクションでは、MySQL 機能のポートコンテキストを設定する方法について説明します。 通常、同じメソッドを使用して、MySQL 機能のポートコンテキストを設定できます。 MySQL 機能で使用されるポートの詳細は、MySQL Port Reference を参照してください。

MySQL 8.0.14 から MySQL 8.0.17 へ、mysql_connect_any SELinux ブールを ON に設定する必要があります。 MySQL 8.0.18 では、mysql_connect_any の有効化は必須ではなく、推奨されません。

setsebool -P mysql_connect_any=ON
グループレプリケーションの TCP ポートコンテキストの設定

SELinux が有効な場合は、group_replication_local_address 変数で定義されている Group Replication 通信ポートのポートコンテキストを設定する必要があります。mysqld は、Group Replication 通信ポートにバインドし、そこでリスニングできる必要があります。InnoDB クラスタ はグループレプリケーションに依存するため、これはクラスタで使用されるインスタンスにも同様に適用されます。 MySQL で現在使用されているポートを表示するには、次のコマンドを発行します:

semanage port -l | grep mysqld

Group Replication 通信ポートが 33061 の場合は、次を発行してポートコンテキストを設定します:

semanage port -a -t mysqld_port_t -p tcp 33061
ドキュメントストアの TCP ポートコンテキストの設定

SELinux が有効になっている場合は、mysqlx_port 変数で定義されている X プラグイン で使用される通信ポートのポートコンテキストを設定する必要があります。mysqld は、X プラグイン 通信ポートにバインドし、そこでリスニングできる必要があります。

X プラグイン 通信ポートが 33060 の場合は、次を発行してポートコンテキストを設定します:

semanage port -a -t mysqld_port_t -p tcp 33060
MySQL Router の 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

関連キーワード:  ポート, コンテキスト, 設定, 認証, パスワード, mysqld, 機能, プラガブル, 監査, セキュリティー