文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  使用 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 | ::             |
    +-----------------------------------+----------------+