文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  X Plugin 選項和系統變數

22.5.6.2 X Plugin 選項和系統變數

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

  • --mysqlx[=value]

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

    開啟

    關閉

    強制

    強制_加上_永久

    此選項控制伺服器在啟動時如何載入 X Plugin。在 MySQL 9.0 中,預設會啟用 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 會接受該位址的 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

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

    命令列格式 --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=#
    系統變數 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=#
    系統變數 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 伺服器時使用。用戶端可以使用此 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=檔案名稱
    系統變數 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。