MySQL 9.0 版本注意事項
以下程序示範如何設定 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 | :: | +-----------------------------------+----------------+