文件首頁
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 參考手冊  /  ...  /  X Plugin 選項與系統變數

22.5.6.2 X Plugin 選項與系統變數

若要控制 X Plugin 的啟用,請使用此選項

  • --mysqlx[=value]

    命令列格式 --mysqlx[=value]
    類型 列舉
    預設值 ON
    有效值

    ON

    OFF

    FORCE

    FORCE_PLUS_PERMANENT

    此選項控制伺服器在啟動時載入 X Plugin 的方式。在 MySQL 8.4 中,預設啟用 X Plugin,但可以使用此選項來控制其啟用狀態。

    此選項值應為外掛程式載入選項可用的值之一,如第 7.6.1 節,「安裝和解除安裝外掛程式」中所述。

如果啟用 X Plugin,它會公開數個系統變數,允許控制其運作

  • mysqlx_bind_address

    命令列格式 --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

    命令列格式 --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_streamlz4_messagezstd_stream 演算法名稱可以任意組合指定,且順序和大小寫並不重要。如果您將系統變數設定為空字串,則不允許任何壓縮演算法,並且只會使用未壓縮的連線。使用特定於演算法的系統變數來調整每個允許演算法的預設和最大壓縮級別。如需更多詳細資訊,以及關於 X Protocol 連線壓縮如何與 MySQL Server 的等效設定相關的資訊,請參閱第 22.5.5 節,「X Plugin 的連線壓縮」

  • mysqlx_connect_timeout

    命令列格式 --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

    命令列格式 --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=#
    系統變數 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=#
    系統變數 mysqlx_max_allowed_packet
    範圍 全域
    動態
    SET_VAR 提示語法適用
    類型 整數
    預設值 67108864
    最小值 512
    最大值 1073741824
    單位 位元組

    X Plugin 可以接收的最大網路封包大小。此限制也適用於連線使用壓縮的情況,因此在訊息解壓縮後,網路封包必須小於此大小。這是 X Plugin 對應於 max_allowed_packet 的設定;如需更多資訊,請參閱該變數的說明。

  • mysqlx_max_connections

    命令列格式 --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=#
    系統變數 mysqlx_min_worker_threads
    範圍 全域
    動態
    SET_VAR 提示語法適用
    類型 整數
    預設值 2
    最小值 1
    最大值 100

    X Plugin 用於處理用戶端請求的最小工作執行緒數。

  • mysqlx_port

    命令列格式 --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=#
    系統變數 mysqlx_port_open_timeout
    範圍 全域
    動態
    SET_VAR 提示語法適用
    類型 整數
    預設值 0
    最小值 0
    最大值 120
    單位

    X Plugin 等待 TCP/IP 連接埠變為可用的秒數。

  • mysqlx_read_timeout

    命令列格式 --mysqlx-read-timeout=#
    系統變數 mysqlx_read_timeout
    範圍 工作階段
    動態
    SET_VAR 提示語法適用
    類型 整數
    預設值 30
    最小值 1
    最大值 2147483
    單位

    X Plugin 等待封鎖讀取作業完成的秒數。在此時間之後,如果讀取作業不成功,X Plugin 會關閉連線並向用戶端應用程式返回一個帶有錯誤碼 ER_IO_READ_ERROR 的警告通知。

  • mysqlx_socket

    命令列格式 --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=檔案名稱
    系統變數 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=目錄名稱
    系統變數 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=檔案名稱
    系統變數 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=名稱
    系統變數 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=檔案名稱
    系統變數 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=目錄名稱
    系統變數 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=檔案名稱
    系統變數 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=#
    系統變數 mysqlx_wait_timeout
    範圍 工作階段
    動態
    SET_VAR 提示語法適用
    類型 整數
    預設值 28800
    最小值 1
    最大值 2147483
    單位

    X Plugin 等待連線上活動的秒數。在此時間過後,如果讀取操作不成功,X Plugin 會關閉連線。如果用戶端是非互動式的,則會從全域 mysqlx_wait_timeout 變數複製會期變數的初始值。對於互動式用戶端,則會從會期 mysqlx_interactive_timeout 複製初始值。

  • mysqlx_write_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。