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


MySQL 8.0 リファレンスマニュアル  /  ...  /  IPv6 ローカルホストアドレスを使用した接続

5.1.13.3 IPv6 ローカルホストアドレスを使用した接続

次の手順では、::1 のローカルホストアドレスを使用してローカルサーバーに接続するクライアントによる IPv6 接続を許可するために、MySQL を構成する方法を示します。 ここに示す手順は、システムが IPv6 をサポートしていることを想定しています。

  1. 適切な bind_address 設定を使用して MySQL サーバーを起動し、IPv6 接続の受入れを許可します。 たとえば、次の行をサーバーオプションファイルに入れて、サーバーを再起動します。

    [mysqld]
    bind_address = *

    bind_address の値として *(または::) を指定すると、すべてのサーバーホストの IPv4 および IPv6 インタフェースで IPv4 と IPv6 の両方の接続が許可されます。 サーバーを特定のアドレスリストにバインドする場合は、bind_address にカンマ区切りの値リストを指定することで、MySQL 8.0.13 の時点でこれを実行できます。 この例では、IPv4 と IPv6 の両方のローカルホストアドレスを指定します:

    [mysqld]
    bind_address = 127.0.0.1,::1

    詳細は、セクション5.1.8「サーバーシステム変数」bind_address の説明を参照してください。

  2. 管理者としてサーバーに接続し、::1 ローカル IPv6 ホストアドレスから接続できるローカルユーザーのアカウントを作成します:

    mysql> CREATE USER 'ipv6user'@'::1' IDENTIFIED BY 'ipv6pass';

    アカウント名で許可される IPv6 アドレスの構文については、セクション6.2.4「アカウント名の指定」を参照してください。 CREATE USER ステートメントに加えて、特定の権限をアカウントに付与する GRANT ステートメントを発行できます。ただし、この手順の残りのステップには不要です。

  3. mysql クライアントを呼び出し、新しいアカウントを使用するサーバーに接続します。

    shell> mysql -h ::1 -u ipv6user -pipv6pass
  4. 接続情報を表示する単純なステートメントを試してみます。

    mysql> STATUS
    ...
    Connection:   ::1 via TCP/IP
    ...
    
    mysql> SELECT CURRENT_USER(), @@bind_address;
    +----------------+----------------+
    | CURRENT_USER() | @@bind_address |
    +----------------+----------------+
    | ipv6user@::1   | ::             |
    +----------------+----------------+

関連キーワード:  サーバー, 接続, 変数, インストール, アドレス, bind, Server, 構成, 形式, 複数