MySQL 8.4 發行說明
下列程序說明如何設定 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 位址〉。
使用適當的
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
描述。在伺服器主機 (
2001:db8:0:f101::1
) 上,為可以從用戶端主機 (2001:db8:0:f101::2
) 連線的使用者建立帳戶mysql> CREATE USER 'remoteipv6user'@'2001:db8:0:f101::2' IDENTIFIED BY 'remoteipv6pass';
在用戶端主機 (
2001:db8:0:f101::2
) 上,叫用 mysql 用戶端,以使用新的帳戶連線至伺服器$> mysql -h 2001:db8:0:f101::1 -u remoteipv6user -premoteipv6pass
嘗試一些顯示連線資訊的簡單陳述式
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 | :: | +-----------------------------------+----------------+