MySQL での IPv6 のサポートには次の機能があります。
-
MySQL Server は、IPv6 を介して接続するクライアントからの TCP/IP 接続を受け入れることができます。 たとえば、次のコマンドは、ローカルホスト上の MySQL Server に IPv6 を介して接続します。
shell> mysql -h ::1
この機能を使用するには、2 つのことが満たされている必要があります。
システムが IPv6 をサポートするように構成されている必要があります。 セクション5.1.13.1「IPv6 用のシステムサポートの確認」を参照してください。
デフォルトの MySQL サーバー構成では、IPv4 接続に加えて IPv6 接続が許可されます。 デフォルトの構成を変更するには、
bind_address
システム変数を適切な値に設定してサーバーを起動します。 セクション5.1.8「サーバーシステム変数」を参照してください。
-
MySQL アカウント名には、IPv6 を介してサーバーに接続するクライアントの権限を DBA が指定できるようにするために、IPv6 アドレスが許可されます。 セクション6.2.4「アカウント名の指定」を参照してください。 IPv6 アドレスは、
CREATE USER
、GRANT
、REVOKE
などのステートメント内のアカウント名に指定できます。 例:mysql> CREATE USER 'bill'@'::1' IDENTIFIED BY 'secret'; mysql> GRANT SELECT ON mydb.* TO 'bill'@'::1';
IPv6 関数は、文字列と内部形式の IPv6 アドレス形式の間の変換が可能で、値が有効な IPv6 アドレスを表現しているかどうかを検査できます。 たとえば、
INET6_ATON()
およびINET6_NTOA()
はINET_ATON()
およびINET_NTOA()
に類似していますが、IPv4 アドレスに加えて IPv6 アドレスも処理します。 セクション12.24「その他の関数」を参照してください。MySQL 8.0.14 から、グループレプリケーショングループメンバーは、グループ内の通信に IPv6 アドレスを使用できます。 グループには、IPv6 を使用するメンバーと IPv4 を使用するメンバーを混在させることができます。 セクション18.4.5「IPv6 および IPv6 と IPv4 の混合グループのサポート」を参照してください。
以降のセクションでは、クライアントが IPv6 を介してサーバーに接続できるようにするために、MySQL をセットアップする方法について説明します。