文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  使用 IPv6 非本地主机地址连接

7.1.13.4 使用 IPv6 非本地主机地址连接

以下步骤展示了如何配置 MySQL 以允许远程客户端进行 IPv6 连接。它与前面针对本地客户端的步骤类似,但服务器和客户端主机是不同的,并且每个主机都有自己的非本地 IPv6 地址。此示例使用以下地址

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

这些地址是从 IANA 为文档目的推荐的不可路由地址范围中选择的,并且足以在本地网络上进行测试。要接受来自本地网络以外的客户端的 IPv6 连接,服务器主机必须具有公共地址。如果您的网络提供商为您分配了 IPv6 地址,您可以使用该地址。否则,另一种获取地址的方法是使用 IPv6 代理;请参见 第 7.1.13.5 节,“从代理获取 IPv6 地址”

  1. 使用适当的 bind_address 设置启动 MySQL 服务器,以允许它接受 IPv6 连接。例如,将以下行放在服务器选项文件中,然后重新启动服务器

    [mysqld]
    bind_address = *

    将 *(或 ::)指定为 bind_address 的值允许服务器主机上的所有 IPv4 和 IPv6 接口同时进行 IPv4 和 IPv6 连接。如果要将服务器绑定到特定地址列表,可以通过为 bind_address 指定一个逗号分隔的值列表来实现。此示例指定了一个 IPv4 地址以及所需的服务器主机 IPv6 地址

    [mysqld]
    bind_address = 198.51.100.20,2001:db8:0:f101::1

    有关更多信息,请参见 第 7.1.8 节,“服务器系统变量” 中对 bind_address 的描述。

  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 客户端使用新帐户连接到服务器

    $> 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 | ::             |
    +-----------------------------------+----------------+