本節說明如何設定 X Plugin 以使用加密連線。如需更多背景資訊,請參閱第 8.3 節,「使用加密連線」。
為了啟用加密連線的設定支援,X Plugin 具有 mysqlx_ssl_
系統變數,其值可能與 MySQL 伺服器使用的 xxx
ssl_
系統變數不同。例如,X Plugin 可以擁有與 MySQL 伺服器所使用的 SSL 金鑰、憑證和憑證授權單位檔案不同的檔案。這些變數說明於第 22.5.6.2 節,「X Plugin 選項與系統變數」。同樣地,X Plugin 具有其自己的 xxx
Mysqlx_ssl_
狀態變數,其對應於 MySQL 伺服器加密連線的 xxx
Ssl_
狀態變數。請參閱第 22.5.6.3 節,「X Plugin 狀態變數」。xxx
在初始化時,X Plugin 會如下判斷其加密連線的 TLS 環境
如果所有
mysqlx_ssl_
系統變數都具有其預設值,則 X Plugin 會使用與 MySQL 伺服器主要連線介面相同的 TLS 環境,其由xxx
ssl_
系統變數的值決定。xxx
如果任何
mysqlx_ssl_
變數具有非預設值,則 X Plugin 會使用由其自己的系統變數值定義的 TLS 環境。(如果任何xxx
mysqlx_ssl_
系統變數設定為與其預設值不同的值,則會發生這種情況。)xxx
這表示在啟用 X Plugin 的伺服器上,您可以選擇讓 MySQL 通訊協定和 X 通訊協定連線共用相同的加密設定(僅設定 ssl_
變數),或透過個別設定 xxx
ssl_
和 xxx
mysqlx_ssl_
變數,讓 MySQL 通訊協定和 X 通訊協定連線使用個別的加密設定。xxx
若要讓 MySQL 通訊協定和 X 通訊協定連線使用相同的加密設定,請僅在 my.cnf
中設定 ssl_
系統變數xxx
[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
若要為 MySQL 通訊協定和 X 通訊協定連線個別設定加密,請在 my.cnf
中設定 ssl_
和 xxx
mysqlx_ssl_
系統變數xxx
[mysqld]
ssl_ca=ca1.pem
ssl_cert=server-cert1.pem
ssl_key=server-key1.pem
mysqlx_ssl_ca=ca2.pem
mysqlx_ssl_cert=server-cert2.pem
mysqlx_ssl_key=server-key2.pem
如需有關設定連線加密支援的一般資訊,請參閱第 8.3.1 節,「設定 MySQL 以使用加密連線」。該討論是針對 MySQL 伺服器撰寫的,但 X Plugin 的參數名稱類似。(X Plugin mysqlx_ssl_
系統變數名稱對應於 MySQL 伺服器的 xxx
ssl_
系統變數名稱。)xxx
決定 MySQL 通訊協定連線允許的 TLS 版本的 tls_version
系統變數也適用於 X 通訊協定連線。因此,兩種連線類型允許的 TLS 版本都相同。
每個連線的加密是選擇性的,但可以透過在建立使用者的 CREATE USER
陳述式中包含適當的 REQUIRE
子句,來要求特定使用者對 X 通訊協定和 MySQL 通訊協定連線使用加密。如需詳細資訊,請參閱第 15.7.1.3 節,「CREATE USER 陳述式」。或者,若要要求所有使用者對 X 通訊協定和 MySQL 通訊協定連線使用加密,請啟用 require_secure_transport
系統變數。如需其他資訊,請參閱設定加密連線為強制性。