若要控制 X Plugin 的啟用,請使用此選項
-
命令列格式 --mysqlx[=value]
類型 列舉 預設值 ON
有效值 ON
OFF
FORCE
FORCE_PLUS_PERMANENT
此選項控制伺服器在啟動時載入 X Plugin 的方式。在 MySQL 8.4 中,預設啟用 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 會接受該位址(IPv4 或 IPv6 格式)的 TCP/IP 連線。例如,如果 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 Protocol。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 Protocol 連線允許使用的壓縮演算法。預設情況下,允許使用 Deflate、LZ4 和 zstd 演算法。若要禁用任何演算法,請設定
mysqlx_compression_algorithms
,使其僅包含您允許的演算法。deflate_stream
、lz4_message
和zstd_stream
演算法名稱可以任意組合指定,且順序和大小寫並不重要。如果您將系統變數設定為空字串,則不允許任何壓縮演算法,並且只會使用未壓縮的連線。使用特定於演算法的系統變數來調整每個允許演算法的預設和最大壓縮級別。如需更多詳細資訊,以及關於 X Protocol 連線壓縮如何與 MySQL Server 的等效設定相關的資訊,請參閱第 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 Protocol 連線上使用 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 Protocol 連線上 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
提示語法適用否 類型 布林值 預設值 ON
控制傳送至嘗試透過 X Protocol 連線的傳統 MySQL 通訊協定用戶端的訊息。啟用時,不支援 X Protocol 的用戶端嘗試連線至伺服器 X Protocol 連接埠時,會收到錯誤訊息,說明他們使用的通訊協定錯誤。
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 Protocol 連線上使用 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 Protocol 連線上 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 Server 使用。用戶端可以使用此 socket 連線至使用 X Plugin 的 MySQL Server。
mysqlx_socket
的預設路徑和檔案名稱是以 MySQL Server 主 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。