以下过程显示如何配置 MySQL 以允许使用::1
本地主机地址连接到本地服务器的客户端进行 IPv6 连接。此处给出的说明假定您的系统支持 IPv6。
使用适当的
bind_address
设置启动 MySQL 服务器以允许它接受 IPv6 连接。例如,将以下行放入服务器选项文件并重新启动服务器:[mysqld] bind_address = *
将*(或
::
)指定为bind_address
允许所有服务器主机 IPv4 和 IPv6 接口上的 IPv4 和 IPv6 连接的值。如果要将服务器绑定到特定的地址列表,从 MySQL 8.0.13 开始,您可以通过为 指定逗号分隔的值列表来执行此操作bind_address
。此示例指定 IPv4 和 IPv6 的本地主机地址:[mysqld] bind_address = 127.0.0.1,::1
有关详细信息,请参阅 第 5.1.8 节“服务器系统变量”
bind_address
中的描述 。作为管理员,连接到服务器并为可以从
::1
本地 IPv6 主机地址连接的本地用户创建一个帐户:mysql> CREATE USER 'ipv6user'@'::1' IDENTIFIED BY 'ipv6pass';
有关帐户名称中允许的 IPv6 地址语法,请参阅第 6.2.4 节,“指定帐户名称”。除了该
CREATE USER
声明之外,您还可以发布GRANT
赋予该帐户特定权限的声明,尽管对于此过程中的其余步骤而言,这不是必需的。调用mysql客户端以使用新帐户连接到服务器:
$> 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 | :: | +----------------+----------------+