若要控制 X Plugin 的啟用,請使用此選項
-
命令列格式 --mysqlx[=value]
類型 列舉 預設值 開啟
有效值 開啟
關閉
強制
強制_加上_永久
此選項控制伺服器在啟動時如何載入 X Plugin。在 MySQL 9.0 中,預設會啟用 X Plugin,但可以使用此選項來控制其啟用狀態。
選項值應為外掛程式載入選項可用的值之一,如 第 7.6.1 節「安裝和解除安裝外掛程式」中所述。
如果啟用 X Plugin,它會公開數個系統變數,允許控制其操作
-
命令列格式 --mysqlx-bind-address=addr
系統變數 mysqlx_bind_address
範圍 全域 動態 否 SET_VAR
提示適用否 類型 字串 預設值 *
X Plugin 監聽 TCP/IP 連線的網路位址。此變數不是動態的,只能在啟動時設定。這是 X Plugin 對等同於
bind_address
系統變數;請參閱該變數描述以取得更多資訊。依預設,X Plugin 接受所有伺服器主機 IPv4 介面上的 TCP/IP 連線,並且,如果伺服器主機支援 IPv6,則接受所有 IPv6 介面上的 TCP/IP 連線。如果指定
mysqlx_bind_address
,其值必須滿足這些要求單一位址值,可以指定單一非萬用字元 IP 位址(IPv4 或 IPv6),或主機名稱,或允許在多個網路介面上監聽的萬用字元位址格式(
*
、0.0.0.0
或::
)。以逗號分隔的值清單。當變數命名多個值的清單時,每個值必須指定單一非萬用字元 IP 位址(IPv4 或 IPv6)或主機名稱。值的清單中不允許使用萬用字元位址格式(
*
、0.0.0.0
或::
)。該值也可以包含網路命名空間指定符。
IP 位址可以指定為 IPv4 或 IPv6 位址。對於任何作為主機名稱的值,X Plugin 都會將名稱解析為 IP 位址,並繫結至該位址。如果主機名稱解析為多個 IP 位址,則 X Plugin 會使用第一個 IPv4 位址(如果有),否則使用第一個 IPv6 位址。
X Plugin 會按如下方式處理不同類型的位址
如果位址為
*
,X Plugin 會接受所有伺服器主機 IPv4 介面上的 TCP/IP 連線,並且,如果伺服器主機支援 IPv6,則接受所有 IPv6 介面上的 TCP/IP 連線。使用此位址允許 X Plugin 的 IPv4 和 IPv6 連線。此值為預設值。如果變數指定多個值的清單,則不允許此值。如果位址為
0.0.0.0
,X Plugin 會接受所有伺服器主機 IPv4 介面上的 TCP/IP 連線。如果變數指定多個值的清單,則不允許此值。如果位址為
::
,X Plugin 會接受所有伺服器主機 IPv4 和 IPv6 介面上的 TCP/IP 連線。如果變數指定多個值的清單,則不允許此值。如果位址為 IPv4 對應位址,X Plugin 會接受該位址的 TCP/IP 連線,格式為 IPv4 或 IPv6。例如,如果 X Plugin 繫結至
::ffff:127.0.0.1
,則像 MySQL Shell 這樣的用戶端可以使用--host=127.0.0.1
或--host=::ffff:127.0.0.1
連線。如果位址是「常規」 IPv4 或 IPv6 位址(例如
127.0.0.1
或::1
),則 X Plugin 只會接受該 IPv4 或 IPv6 位址的 TCP/IP 連線。
以下規則適用於為位址指定網路命名空間
可以為 IP 位址或主機名稱指定網路命名空間。
無法為萬用字元 IP 位址指定網路命名空間。
對於給定的位址,網路命名空間是可選的。如果給定,則必須將其指定為緊隨位址之後的
/
後綴。ns
沒有
/
後綴的位址會使用主機系統全域命名空間。因此,全域命名空間是預設值。ns
帶有
/
後綴的位址會使用名為ns
ns
的命名空間。主機系統必須支援網路命名空間,且每個已命名的命名空間都必須事先設定好。命名不存在的命名空間會產生錯誤。
如果變數值指定多個位址,它可以包含全域命名空間中的位址、已命名命名空間中的位址,或兩者的混合。
有關網路命名空間的其他資訊,請參閱第 7.1.14 節「網路命名空間支援」。
重要由於 X Plugin 不是強制性外掛程式,因此如果指定的位址或位址清單中存在錯誤(如同 MySQL 伺服器對
bind_address
錯誤所做的那樣),則它不會阻止伺服器啟動。對於 X Plugin,如果無法剖析所列出的位址之一,或者 X Plugin 無法繫結到該位址,則會跳過該位址,並記錄錯誤訊息,而 X Plugin 會嘗試繫結到其餘每個位址。X Plugin 的Mysqlx_address
狀態變數僅顯示繫結成功之清單中的那些位址。如果沒有任何列出的位址導致繫結成功,或者如果單一指定的位址失敗,則 X Plugin 會記錄錯誤訊息ER_XPLUGIN_FAILED_TO_PREPARE_IO_INTERFACES
,指出無法使用 X 協定。mysqlx_bind_address
不是動態的,因此若要修正任何問題,您必須停止伺服器、更正系統變數值,然後重新啟動伺服器。 -
命令列格式 --mysqlx-compression-algorithms=value
系統變數 mysqlx_compression_algorithms
範圍 全域 動態 是 SET_VAR
提示適用否 類型 設定 預設值 deflate_stream,lz4_message,zstd_stream
有效值 deflate_stream
lz4_message
zstd_stream
在 X 協定連線上允許使用的壓縮演算法。預設情況下,允許使用 Deflate、LZ4 和 zstd 演算法。若要禁止任何演算法,請設定
mysqlx_compression_algorithms
以僅包含您允許的演算法。演算法名稱deflate_stream
、lz4_message
和zstd_stream
可以任意組合指定,順序和大小寫並不重要。如果您將系統變數設定為空字串,則不允許任何壓縮演算法,並且僅使用未壓縮的連線。使用特定於演算法的系統變數來調整每個允許演算法的預設和最大壓縮層級。如需更多詳細資訊,以及關於 X 協定的連線壓縮如何與 MySQL 伺服器的對等設定相關的資訊,請參閱第 22.5.5 節,「使用 X Plugin 的連線壓縮」。 -
命令列格式 --mysqlx-connect-timeout=#
系統變數 mysqlx_connect_timeout
範圍 全域 動態 是 SET_VAR
提示適用否 類型 整數 預設值 30
最小值 1
最大值 1000000000
單位 秒 X Plugin 等待從新連線的用戶端接收第一個封包的秒數。這是 X Plugin 對應於
connect_timeout
的變數;請參閱該變數的說明以了解更多資訊。 mysqlx_deflate_default_compression_level
命令列格式 --mysqlx_deflate_default_compression_level=#
系統變數 mysqlx_deflate_default_compression_level
範圍 全域 動態 是 SET_VAR
提示適用否 類型 整數 預設值 3
最小值 1
最大值 9
伺服器在 X 協定連線上,用於 Deflate 演算法的預設壓縮層級。將層級指定為 1(最低壓縮程度)到 9(最高壓縮程度)的整數。如果在功能協商期間用戶端未請求壓縮層級,則使用此層級。如果您未指定此系統變數,伺服器會使用層級 3 作為預設值。如需更多資訊,請參閱第 22.5.5 節,「使用 X Plugin 的連線壓縮」。
mysqlx_deflate_max_client_compression_level
命令列格式 --mysqlx_deflate_max_client_compression_level=#
系統變數 mysqlx_deflate_max_client_compression_level
範圍 全域 動態 是 SET_VAR
提示適用否 類型 整數 預設值 5
最小值 1
最大值 9
伺服器在 X 協定連線上,允許 Deflate 演算法使用的最大壓縮層級。範圍與此演算法的預設壓縮層級相同。如果用戶端請求的壓縮層級高於此層級,伺服器會使用您在此處設定的層級。如果您未指定此系統變數,伺服器會設定最大壓縮層級為 5。
mysqlx_document_id_unique_prefix
命令列格式 --mysqlx-document-id-unique-prefix=#
系統變數 mysqlx_document_id_unique_prefix
範圍 全域 動態 是 SET_VAR
提示適用否 類型 整數 預設值 0
最小值 0
最大值 65535
設定伺服器在將文件新增至集合時所產生文件 ID 的前 4 個位元組。透過將此變數設定為每個執行個體唯一的值,您可以確保文件 ID 在不同執行個體之間是唯一的。請參閱了解文件 ID。
-
命令列格式 --mysqlx-enable-hello-notice[={OFF|ON}]
系統變數 mysqlx_enable_hello_notice
範圍 全域 動態 是 SET_VAR
提示適用否 類型 布林值 預設值 開啟
控制傳送至嘗試透過 X 協定連線的傳統 MySQL 協定用戶端訊息。啟用時,不支援 X 協定的用戶端嘗試連線至伺服器 X 協定連接埠時,會收到錯誤訊息,說明它們正在使用錯誤的協定。
mysqlx_idle_worker_thread_timeout
命令列格式 --mysqlx-idle-worker-thread-timeout=#
系統變數 mysqlx_idle_worker_thread_timeout
範圍 全域 動態 是 SET_VAR
提示適用否 類型 整數 預設值 60
最小值 0
最大值 3600
單位 秒 閒置工作執行緒終止之前的秒數。
-
命令列格式 --mysqlx-interactive-timeout=#
系統變數 mysqlx_interactive_timeout
範圍 全域 動態 是 SET_VAR
提示適用否 類型 整數 預設值 28800
最小值 1
最大值 2147483
單位 秒 互動式用戶端的
mysqlx_wait_timeout
會期變數預設值。(等待互動式用戶端逾時的秒數。) mysqlx_lz4_default_compression_level
命令列格式 --mysqlx_lz4_default_compression_level=#
系統變數 mysqlx_lz4_default_compression_level
範圍 全域 動態 是 SET_VAR
提示適用否 類型 整數 預設值 2
最小值 0
最大值 16
伺服器在 X 協定連線上,用於 LZ4 演算法的預設壓縮層級。將層級指定為 0(最低壓縮程度)到 16(最高壓縮程度)的整數。如果在功能協商期間用戶端未請求壓縮層級,則使用此層級。如果您未指定此系統變數,伺服器會使用層級 2 作為預設值。如需更多資訊,請參閱第 22.5.5 節,「使用 X Plugin 的連線壓縮」。
mysqlx_lz4_max_client_compression_level
命令列格式 --mysqlx_lz4_max_client_compression_level=#
系統變數 mysqlx_lz4_max_client_compression_level
範圍 全域 動態 是 SET_VAR
提示適用否 類型 整數 預設值 8
最小值 0
最大值 16
伺服器在 X 協定連線上,允許 LZ4 演算法使用的最大壓縮層級。範圍與此演算法的預設壓縮層級相同。如果用戶端請求的壓縮層級高於此層級,伺服器會使用您在此處設定的層級。如果您未指定此系統變數,伺服器會設定最大壓縮層級為 8。
-
命令列格式 --mysqlx-max-allowed-packet=#
系統變數 mysqlx_max_allowed_packet
範圍 全域 動態 是 SET_VAR
提示適用否 類型 整數 預設值 67108864
最小值 512
最大值 1073741824
單位 位元組 X Plugin 可以接收的網路封包最大大小。當連線使用壓縮時,此限制也適用,因此解壓縮訊息後的網路封包必須小於此大小。這是 X Plugin 對應於
max_allowed_packet
的變數;請參閱該變數的說明以了解更多資訊。 -
命令列格式 --mysqlx-max-connections=#
系統變數 mysqlx_max_connections
範圍 全域 動態 是 SET_VAR
提示適用否 類型 整數 預設值 100
最小值 1
最大值 65535
X Plugin 可以接受的並行用戶端連線最大數量。這是 X Plugin 對應於
max_connections
的變數;請參閱該變數的說明以了解更多資訊。對於此變數的修改,如果新值小於目前的連線數,則新限制僅適用於新連線。
-
命令列格式 --mysqlx-min-worker-threads=#
系統變數 mysqlx_min_worker_threads
範圍 全域 動態 是 SET_VAR
提示適用否 類型 整數 預設值 2
最小值 1
最大值 100
X Plugin 用於處理用戶端請求的工作執行緒最小數量。
-
命令列格式 --mysqlx-port=port_num
系統變數 mysqlx_port
範圍 全域 動態 否 SET_VAR
提示適用否 類型 整數 預設值 33060
最小值 1
最大值 65535
X Plugin 接聽 TCP/IP 連線的網路連接埠。這是 X Plugin 對應於
port
的變數;請參閱該變數的說明以了解更多資訊。 -
命令列格式 --mysqlx-port-open-timeout=#
系統變數 mysqlx_port_open_timeout
範圍 全域 動態 否 SET_VAR
提示適用否 類型 整數 預設值 0
最小值 0
最大值 120
單位 秒 X Plugin 等待 TCP/IP 連接埠變為可用的秒數。
-
命令列格式 --mysqlx-read-timeout=#
系統變數 mysqlx_read_timeout
範圍 會期 動態 是 SET_VAR
提示適用否 類型 整數 預設值 30
最小值 1
最大值 2147483
單位 秒 X Plugin 等待完成阻塞式讀取操作的秒數。在此時間之後,如果讀取操作不成功,X Plugin 會關閉連線,並向用戶端應用程式傳回包含錯誤碼 ER_IO_READ_ERROR 的警告通知。
-
命令列格式 --mysqlx-socket=file_name
系統變數 mysqlx_socket
範圍 全域 動態 否 SET_VAR
提示適用否 類型 字串 預設值 /tmp/mysqlx.sock
X Plugin 用於連線的 Unix socket 檔案路徑。此設定僅在 Unix 作業系統上執行 MySQL 伺服器時使用。用戶端可以使用此 socket 來連線至使用 X Plugin 的 MySQL 伺服器。
mysqlx_socket
的預設路徑和檔案名稱是以 MySQL 伺服器主要 socket 檔案的預設路徑和檔案名稱為基礎,並在檔案名稱附加x
。主要 socket 檔案的預設路徑和檔案名稱為/tmp/mysql.sock
,因此 X Plugin socket 檔案的預設路徑和檔案名稱為/tmp/mysqlx.sock
。如果您在伺服器啟動時,使用
socket
系統變數指定主要 socket 檔案的替代路徑和檔案名稱,這不會影響 X Plugin socket 檔案的預設值。在此情況下,如果您想要將兩個 socket 儲存在單一路徑中,您也必須設定mysqlx_socket
系統變數。例如,在組態檔案中socket=/home/sockets/mysqld/mysql.sock mysqlx_socket=/home/sockets/xplugin/xplugin.sock
如果您在編譯時使用
MYSQL_UNIX_ADDR
編譯選項變更主要 socket 檔案的預設路徑和檔案名稱,這會影響 X Plugin socket 檔案的預設值,該預設值是透過將x
附加至MYSQL_UNIX_ADDR
檔案名稱而形成的。如果您想要在編譯時為 X Plugin socket 檔案設定不同的預設值,請使用MYSQLX_UNIX_ADDR
編譯選項。MYSQLX_UNIX_PORT
環境變數也可以用來設定伺服器啟動時 X Plugin socket 檔案的預設值(請參閱第 6.9 節,「環境變數」)。如果您設定此環境變數,它會覆寫已編譯的MYSQLX_UNIX_ADDR
值,但會被mysqlx_socket
值覆寫。 -
命令列格式 --mysqlx-ssl-ca=檔案名稱
系統變數 mysqlx_ssl_ca
範圍 全域 動態 否 SET_VAR
提示適用否 類型 檔案名稱 預設值 NULL
mysqlx_ssl_ca
系統變數與ssl_ca
類似,只是前者應用於 X Plugin 而非 MySQL 伺服器的主連線介面。有關設定 X Plugin 加密支援的資訊,請參閱第 22.5.3 節,「使用 X Plugin 的加密連線」。 -
命令列格式 --mysqlx-ssl-capath=目錄名稱
系統變數 mysqlx_ssl_capath
範圍 全域 動態 否 SET_VAR
提示適用否 類型 目錄名稱 預設值 NULL
mysqlx_ssl_capath
系統變數與ssl_capath
類似,只是前者應用於 X Plugin 而非 MySQL 伺服器的主連線介面。有關設定 X Plugin 加密支援的資訊,請參閱第 22.5.3 節,「使用 X Plugin 的加密連線」。 -
命令列格式 --mysqlx-ssl-cert=檔案名稱
系統變數 mysqlx_ssl_cert
範圍 全域 動態 否 SET_VAR
提示適用否 類型 檔案名稱 預設值 NULL
mysqlx_ssl_cert
系統變數與ssl_cert
類似,只是前者應用於 X Plugin 而非 MySQL 伺服器的主連線介面。有關設定 X Plugin 加密支援的資訊,請參閱第 22.5.3 節,「使用 X Plugin 的加密連線」。 -
命令列格式 --mysqlx-ssl-cipher=名稱
系統變數 mysqlx_ssl_cipher
範圍 全域 動態 否 SET_VAR
提示適用否 類型 字串 預設值 NULL
mysqlx_ssl_cipher
系統變數與ssl_cipher
類似,只是前者應用於 X Plugin 而非 MySQL 伺服器的主連線介面。有關設定 X Plugin 加密支援的資訊,請參閱第 22.5.3 節,「使用 X Plugin 的加密連線」。 -
命令列格式 --mysqlx-ssl-crl=檔案名稱
系統變數 mysqlx_ssl_crl
範圍 全域 動態 否 SET_VAR
提示適用否 類型 檔案名稱 預設值 NULL
mysqlx_ssl_crl
系統變數與ssl_crl
類似,只是前者應用於 X Plugin 而非 MySQL 伺服器的主連線介面。有關設定 X Plugin 加密支援的資訊,請參閱第 22.5.3 節,「使用 X Plugin 的加密連線」。 -
命令列格式 --mysqlx-ssl-crlpath=目錄名稱
系統變數 mysqlx_ssl_crlpath
範圍 全域 動態 否 SET_VAR
提示適用否 類型 目錄名稱 預設值 NULL
mysqlx_ssl_crlpath
系統變數與ssl_crlpath
類似,只是前者應用於 X Plugin 而非 MySQL 伺服器的主連線介面。有關設定 X Plugin 加密支援的資訊,請參閱第 22.5.3 節,「使用 X Plugin 的加密連線」。 -
命令列格式 --mysqlx-ssl-key=檔案名稱
系統變數 mysqlx_ssl_key
範圍 全域 動態 否 SET_VAR
提示適用否 類型 檔案名稱 預設值 NULL
mysqlx_ssl_key
系統變數與ssl_key
類似,只是前者應用於 X Plugin 而非 MySQL 伺服器的主連線介面。有關設定 X Plugin 加密支援的資訊,請參閱第 22.5.3 節,「使用 X Plugin 的加密連線」。 -
命令列格式 --mysqlx-wait-timeout=#
系統變數 mysqlx_wait_timeout
範圍 會期 動態 是 SET_VAR
提示適用否 類型 整數 預設值 28800
最小值 1
最大值 2147483
單位 秒 X Plugin 等待連線上活動的秒數。經過此時間後,如果讀取操作未成功,X Plugin 會關閉連線。如果用戶端是非互動式的,則會從全域
mysqlx_wait_timeout
變數複製會期變數的初始值。對於互動式用戶端,初始值會從會期mysqlx_interactive_timeout
複製。 -
命令列格式 --mysqlx-write-timeout=#
系統變數 mysqlx_write_timeout
範圍 會期 動態 是 SET_VAR
提示適用否 類型 整數 預設值 60
最小值 1
最大值 2147483
單位 秒 X Plugin 等待完成封鎖寫入操作的秒數。經過此時間後,如果寫入操作未成功,X Plugin 會關閉連線。
mysqlx_zstd_default_compression_level
命令列格式 --mysqlx_zstd_default_compression_level=#
系統變數 mysqlx_zstd_default_compression_level
範圍 全域 動態 是 SET_VAR
提示適用否 類型 整數 預設值 3
最小值 -131072
最大值 22
伺服器在 X 協定連線上用於 zstd 演算法的預設壓縮等級。對於 1.4.0 及更高版本的 zstd 程式庫,您可以設定從 1 到 22 的正值(最高的壓縮努力程度),或代表逐漸較低努力程度的負值。值 0 會轉換為值 1。對於較早版本的 zstd 程式庫,您只能指定值 3。如果用戶端在功能協商期間未請求壓縮等級,則會使用此等級。如果您未指定此系統變數,伺服器會使用等級 3 作為預設值。如需更多資訊,請參閱第 22.5.5 節,「使用 X Plugin 的連線壓縮」。
mysqlx_zstd_max_client_compression_level
命令列格式 --mysqlx_zstd_max_client_compression_level=#
系統變數 mysqlx_zstd_max_client_compression_level
範圍 全域 動態 是 SET_VAR
提示適用否 類型 整數 預設值 11
最小值 -131072
最大值 22
伺服器在 X 協定連線上允許用於 zstd 演算法的最大壓縮等級。範圍與此演算法的預設壓縮等級相同。如果用戶端請求的壓縮等級高於此值,伺服器會使用您在此處設定的等級。如果您未指定此系統變數,伺服器會設定最大壓縮等級為 11。