Spec-Zone .ru
спецификации, руководства, описания, API

5.1.9.4. Соединение Используя IPv6 Нелокальные Адреса Узла

Следующая процедура показывает, как сконфигурировать MySQL, чтобы разрешить соединения IPv6 удаленными клиентами. Это подобно предыдущей процедуре для локальных клиентов, но серверу, и хосты клиента отличны, и у каждого есть его собственный нелокальный адрес IPv6. Пример использует эти адреса:

Server host: 2001:db8:0:f101::1Client host: 2001:db8:0:f101::2

Эти адреса выбираются из nonroutable адресного пространства, рекомендуемого IANA в целях документации, и достаточны для того, чтобы протестировать на Вашей локальной сети. Чтобы принять соединения IPv6 от клиентов вне локальной сети, у узла сервера должен быть общедоступный адрес. Если Ваш сетевой провайдер присваивает Вас адрес IPv6, можно использовать это. Иначе, другой способ получить адрес состоит в том, чтобы использовать брокера IPv6; см. Раздел 5.1.9.5, "Получая Адрес IPv6 от Брокера".

  1. Запустите сервер MySQL с соответствующего --bind-address опция, чтобы разрешить этому принимать соединения IPv6. Например, поместите следующие строки в свой файл параметра сервера и перезапустите сервер:

    [mysqld]bind-address = *   # before 5.6.6, use :: rather than *

    Альтернативно, можно связать сервер с 2001:db8:0:f101::1, но это делает сервер более рестриктивным для соединений TCP/IP. Это принимает только соединения IPv6 для того единственного адреса и отклоняет соединения IPv4. Для получения дополнительной информации см. Раздел 5.1.9.2, "Конфигурируя Соединения IPv6 MySQL Server to Permit".

  2. На узле сервера (2001:db8:0:f101::1), создайте учетную запись за пользователя, который соединится от хоста клиента (2001:db8:0:f101::2):

    mysql> CREATE USER
                        'remoteipv6user'@'2001:db8:0:f101::2' IDENTIFIED BY 'remoteipv6pass';
  3. На хосте клиента (2001:db8:0:f101::2), вызовите mysql клиент, чтобы соединиться с сервером, используя новую учетную запись:

    shell> mysql -h 2001:db8:0:f101::1 -u
                        remoteipv6user -premoteipv6pass
  4. Попробуйте некоторые простые операторы, которые показывают информацию о соединении:

    mysql> STATUS...Connection:   2001:db8:0:f101::1 via TCP/IP...mysql> SELECT CURRENT_USER(), @@bind_address;+-----------------------------------+----------------+| CURRENT_USER()                    | @@bind_address |+-----------------------------------+----------------+| remoteipv6user@2001:db8:0:f101::2 | ::             |+-----------------------------------+----------------+