次の手順では、::1
のローカルホストアドレスを使用してローカルサーバーに接続するクライアントによる IPv6 接続を許可するために、MySQL を構成する方法を示します。ここに示す手順は、システムが IPv6 をサポートしていることを想定しています。
-
IPv6 接続を受け入れることを許可するための適切な
--bind-address
オプションを使用して、MySQL Server を開始します。たとえば、次の行をサーバーオプションファイルに入れて、サーバーを再起動します。[mysqld] bind-address = * # before 5.6.6, use :: rather than *
または、サーバーを
::1
にバインドできますが、その場合 TCP/IP 接続のサーバー制限がさらに多くなります。その単一のアドレスについての IPv6 接続のみ受け入れ、IPv4 接続が拒否されます。詳細については、セクション5.1.9.2「IPv6 接続を許可するための MySQL Server の構成」を参照してください。 -
管理者としてサーバーに接続し、
::1
のローカル IPv6 ホストアドレスから接続するローカルユーザーのアカウントを作成します。mysql> CREATE USER 'ipv6user'@'::1' IDENTIFIED BY 'ipv6pass';
アカウント名で許可される IPv6 アドレスの構文については、セクション6.2.3「アカウント名の指定」を参照してください。
CREATE USER
ステートメントに加えて、特定の権限をアカウントに付与するGRANT
ステートメントを発行できます。ただし、この手順の残りのステップには不要です。 -
mysql クライアントを呼び出し、新しいアカウントを使用するサーバーに接続します。
shell> mysql -h ::1 -u ipv6user -pipv6pass
-
接続情報を表示する単純なステートメントを試してみます。
mysql> STATUS ... Connection: ::1 via TCP/IP ... mysql> SELECT CURRENT_USER(), @@bind_address; +----------------+----------------+ | CURRENT_USER() | @@bind_address | +----------------+----------------+ | ipv6user@::1 | :: | +----------------+----------------+