本節說明如何設定 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 版本相同。
每個連線的加密是選擇性的,但是特定使用者可能需要針對 X 通訊協定和 MySQL 通訊協定連線使用加密,方法是在建立使用者的 CREATE USER
陳述式中包含適當的 REQUIRE
子句。如需詳細資訊,請參閱第 15.7.1.3 節,「CREATE USER 陳述式」。或者,若要要求所有使用者針對 X 通訊協定和 MySQL 通訊協定連線使用加密,請啟用 require_secure_transport
系統變數。如需其他資訊,請參閱設定強制加密連線。