• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • X插件选项和变量

    本节介绍配置X插件的命令选项和系统变量。如果启动时指定的值不正确,则X插件可能无法正确初始化,并且服务器不会加载它。在这种情况下,服务器也可能会为其他X插件设置产生错误消息,因为它无法识别它们。


    X插件选项和变量参考

    下表概述了X插件提供的命令选项以及系统和状态变量。

    名称Cmd线选项文件系统变量状态变量可变范围动态
    mysqlx是是
    Mysqlx_aborted_clients是Global没有
    Mysqlx_address是Global没有
    mysqlx_bind_address是是是Global没有
    Mysqlx_bytes_received是都没有
    Mysqlx_bytes_received_compressed_payload是都没有
    Mysqlx_bytes_received_uncompressed_frame是都没有
    Mysqlx_bytes_sent是都没有
    Mysqlx_bytes_sent_compressed_payload是都没有
    Mysqlx_bytes_sent_uncompressed_frame是都没有
    Mysqlx_compression_algorithm是Session没有
    mysqlx_compression_algorithms是是是Global是
    Mysqlx_compression_level是Session没有
    mysqlx_connect_timeout是是是Global是
    Mysqlx_connection_accept_errors是都没有
    Mysqlx_connection_errors是都没有
    Mysqlx_connections_accepted是Global没有
    Mysqlx_connections_closed是Global没有
    Mysqlx_connections_rejected是Global没有
    Mysqlx_crud_create_view是都没有
    Mysqlx_crud_delete是都没有
    Mysqlx_crud_drop_view是都没有
    Mysqlx_crud_find是都没有
    Mysqlx_crud_insert是都没有
    Mysqlx_crud_modify_view是都没有
    Mysqlx_crud_update是都没有
    mysqlx_deflate_default_compression_level是是是Global是
    mysqlx_deflate_max_client_compression_level是是是Global是
    mysqlx_document_id_unique_prefix是是是Global是
    mysqlx_enable_hello_notice是是是Global是
    Mysqlx_errors_sent是都没有
    Mysqlx_errors_unknown_message_type是都没有
    Mysqlx_expect_close是都没有
    Mysqlx_expect_open是都没有
    mysqlx_idle_worker_thread_timeout是是是Global是
    Mysqlx_init_error是都没有
    mysqlx_interactive_timeout是是是Global是
    mysqlx_lz4_default_compression_level是是是Global是
    mysqlx_lz4_max_client_compression_level是是是Global是
    mysqlx_max_allowed_packet是是是Global是
    mysqlx_max_connections是是是Global是
    mysqlx_min_worker_threads是是是Global是
    Mysqlx_notice_global_sent是都没有
    Mysqlx_notice_other_sent是都没有
    Mysqlx_notice_warning_sent是都没有
    Mysqlx_notified_by_group_replication是都没有
    Mysqlx_port是Global没有
    mysqlx_port是是是Global没有
    mysqlx_port_open_timeout是是是Global没有
    mysqlx_read_timeout是是是Session是
    Mysqlx_rows_sent是都没有
    Mysqlx_sessions是Global没有
    Mysqlx_sessions_accepted是Global没有
    Mysqlx_sessions_closed是Global没有
    Mysqlx_sessions_fatal_error是Global没有
    Mysqlx_sessions_killed是Global没有
    Mysqlx_sessions_rejected是Global没有
    Mysqlx_socket是Global没有
    mysqlx_socket是是是Global没有
    Mysqlx_ssl_accept_renegotiates是Global没有
    Mysqlx_ssl_accepts是Global没有
    Mysqlx_ssl_active是都没有
    mysqlx_ssl_ca是是是Global没有
    mysqlx_ssl_capath是是是Global没有
    mysqlx_ssl_cert是是是Global没有
    Mysqlx_ssl_cipher是都没有
    mysqlx_ssl_cipher是是是Global没有
    Mysqlx_ssl_cipher_list是都没有
    mysqlx_ssl_crl是是是Global没有
    mysqlx_ssl_crlpath是是是Global没有
    Mysqlx_ssl_ctx_verify_depth是都没有
    Mysqlx_ssl_ctx_verify_mode是都没有
    Mysqlx_ssl_finished_accepts是Global没有
    mysqlx_ssl_key是是是Global没有
    Mysqlx_ssl_server_not_after是Global没有
    Mysqlx_ssl_server_not_before是Global没有
    Mysqlx_ssl_verify_depth是Global没有
    Mysqlx_ssl_verify_mode是Global没有
    Mysqlx_ssl_version是都没有
    Mysqlx_stmt_create_collection是都没有
    Mysqlx_stmt_create_collection_index是都没有
    Mysqlx_stmt_disable_notices是都没有
    Mysqlx_stmt_drop_collection是都没有
    Mysqlx_stmt_drop_collection_index是都没有
    Mysqlx_stmt_enable_notices是都没有
    Mysqlx_stmt_ensure_collection是都没有
    Mysqlx_stmt_execute_mysqlx是都没有
    Mysqlx_stmt_execute_sql是都没有
    Mysqlx_stmt_execute_xplugin是都没有
    Mysqlx_stmt_get_collection_options是都没有
    Mysqlx_stmt_kill_client是都没有
    Mysqlx_stmt_list_clients是都没有
    Mysqlx_stmt_list_notices是都没有
    Mysqlx_stmt_list_objects是都没有
    Mysqlx_stmt_modify_collection_options是都没有
    Mysqlx_stmt_ping是都没有
    mysqlx_wait_timeout是是是Session是
    Mysqlx_worker_threads是Global没有
    Mysqlx_worker_threads_active是Global没有
    mysqlx_write_timeout是是是Session是
    mysqlx_zstd_default_compression_level是是是Global是
    mysqlx_zstd_max_client_compression_level是是是Global是
    名称Cmd线选项文件系统变量状态变量可变范围动态

    X插件选项和系统变量

    要控制X插件的激活,请使用以下选项:

    • --mysqlx[=value]

      属性值
      命令行格式--mysqlx[=value]
      类型列举
      默认值ON
      有效值

      ON

      OFF

      FORCE

      FORCE_PLUS_PERMANENT

      此选项控制服务器在启动时如何加载X插件。在MySQL 8.0中,默认情况下启用X插件,但是此选项可用于控制其激活状态。

      该选项值应为可用于插件加载选项的值之一,如“安装和卸载插件”中所述。

    如果启用了X插件,它将公开几个允许对其操作进行控制的系统变量:

    • mysqlx_bind_address

      属性值
      命令行格式--mysqlx-bind-address=addr
      系统变量mysqlx_bind_address
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型string
      默认值*

      X插件侦听TCP / IP连接的网络地址。此变量不是动态变量,只能在启动时进行配置。这是X Plugin等效于bind_address系统变量;有关更多信息,请参见该变量说明。

      如果mysqlx_bind_address被指定,其值必须是一个单个非通配符IP地址或主机名,或在允许对多个网络接口侦听的通配符地址格式中的一种(*,0.0.0.0,或::)。

      可以将IP地址指定为IPv4或IPv6地址。如果该值为主机名,则X插件会将名称解析为IP地址并绑定到该地址。如果主机名解析为多个IP地址,则X插件将使用第一个IPv4地址(如果存在),否则使用第一个IPv6地址。

      X插件按以下方式处理不同类型的地址:

      • 如果地址为*,则X插件在所有服务器主机的IPv4接口上接受TCP / IP连接,如果服务器主机支持IPv6,则在所有IPv6接口上接受TCP / IP连接。使用此地址允许X插件同时进行IPv4和IPv6连接。此值为默认值。
      • 如果地址为0.0.0.0,则X插件将在所有服务器主机IPv4接口上接受TCP / IP连接。
      • 如果地址为::,则X插件将在所有服务器主机IPv4和IPv6接口上接受TCP / IP连接。
      • 如果该地址是IPv4映射的地址,则X插件将以IPv4或IPv6格式接受该地址的TCP / IP连接。例如,如果绑定了X插件,则::ffff:127.0.0.1可以使用--host=127.0.0.1或连接诸如MySQL Shell之类的客户端--host=::ffff:127.0.0.1。
      • 如果该地址是“常规” IPv4或IPv6地址(例如127.0.0.1或::1),则X插件仅接受该IPv4或IPv6地址的TCP / IP连接。

      如果绑定到该地址失败,则X插件会生成错误,并且服务器不会加载它。

    • mysqlx_compression_algorithms

      属性值
      命令行格式--mysqlx-compression-algorithms=value
      介绍了8.0.19
      系统变量mysqlx_compression_algorithms
      范围Global
      动态是
      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 Server的等效设置相关联的信息,请参见“使用X插件进行连接压缩”。

    • mysqlx_connect_timeout

      属性值
      命令行格式--mysqlx-connect-timeout=#
      系统变量mysqlx_connect_timeout
      范围Global
      动态是
      SET_VAR提示适用没有
      类型整数
      默认值30
      最低值1
      最大值1000000000

      X插件等待从新连接的客户端接收到第一个数据包的秒数。这是X插件的等价物connect_timeout;有关更多信息,请参见该变量。

    • mysqlx_deflate_default_compression_level

      属性值
      命令行格式--mysqlx_deflate_default_compression_level=#
      介绍了8.0.20
      系统变量mysqlx_deflate_default_compression_level
      范围Global
      动态是
      SET_VAR提示适用没有
      类型整数
      默认值3
      最低值1
      最大值9

      服务器在X协议连接上用于Deflate算法的默认压缩级别。将级别指定为1(最小压缩工作量)到9(最大压缩工作量)之间的整数。如果客户端在功能协商期间不请求压缩级别,则使用此级别。如果未指定此系统变量,则服务器使用级别3作为默认值。有关更多信息,请参见“使用X插件进行连接压缩”。

    • mysqlx_deflate_max_client_compression_level

      属性值
      命令行格式--mysqlx_deflate_max_client_compression_level=#
      介绍了8.0.20
      系统变量mysqlx_deflate_max_client_compression_level
      范围Global
      动态是
      SET_VAR提示适用没有
      类型整数
      默认值5
      最低值1
      最大值9

      服务器在X协议连接上允许使用Deflate算法的最大压缩级别。该范围与此算法的默认压缩级别相同。如果客户端请求的压缩级别高于此级别,则服务器将使用您在此处设置的级别。如果未指定此系统变量,则服务器将最大压缩级别设置为5。

    • mysqlx_document_id_unique_prefix

      属性值
      命令行格式--mysqlx-document-id-unique-prefix=#
      系统变量mysqlx_document_id_unique_prefix
      范围Global
      动态是
      SET_VAR提示适用没有
      类型整数
      默认值0
      最低值0
      最大值65535

      设置将文档添加到集合时服务器生成的文档ID的前4个字节。通过将此变量设置为每个实例唯一的值,可以确保文档ID在实例之间是唯一的。请参阅了解文档ID。

    • mysqlx_enable_hello_notice

      属性值
      命令行格式--mysqlx-enable-hello-notice[={OFF|ON}]
      系统变量mysqlx_enable_hello_notice
      范围Global
      动态是
      SET_VAR提示适用没有
      类型布尔型
      默认值ON

      控制发送到尝试通过X协议连接的经典MySQL协议客户端的消息。启用后,尝试连接到服务器X协议端口的不支持X协议的客户端会收到一条错误消息,说明它们使用了错误的协议。

    • mysqlx_idle_worker_thread_timeout

      属性值
      命令行格式--mysqlx-idle-worker-thread-timeout=#
      系统变量mysqlx_idle_worker_thread_timeout
      范围Global
      动态是
      SET_VAR提示适用没有
      类型整数
      默认值60
      最低值0
      最大值3600

      空闲工作线程终止之前经过的秒数。

    • mysqlx_interactive_timeout

      属性值
      命令行格式--mysqlx-interactive-timeout=#
      系统变量mysqlx_interactive_timeout
      范围Global
      动态是
      SET_VAR提示适用没有
      类型整数
      默认值28800
      最低值1
      最大值2147483

      mysqlx_wait_timeout交互式客户端的会话变量的默认值。(等待交互式客户端超时的秒数。)

    • mysqlx_lz4_default_compression_level

      属性值
      命令行格式--mysqlx_lz4_default_compression_level=#
      介绍了8.0.20
      系统变量mysqlx_lz4_default_compression_level
      范围Global
      动态是
      SET_VAR提示适用没有
      类型整数
      默认值2
      最低值0
      最大值16

      服务器在X协议连接上用于LZ4算法的默认压缩级别。将级别指定为0(最小压缩工作量)到16(最大压缩工作量)之间的整数。如果客户端在功能协商期间不请求压缩级别,则使用此级别。如果未指定此系统变量,则服务器使用级别2作为默认值。有关更多信息,请参见“使用X插件进行连接压缩”。

    • mysqlx_lz4_max_client_compression_level

      属性值
      命令行格式--mysqlx_lz4_max_client_compression_level=#
      介绍了8.0.20
      系统变量mysqlx_lz4_max_client_compression_level
      范围Global
      动态是
      SET_VAR提示适用没有
      类型整数
      默认值8
      最低值0
      最大值16

      服务器在X协议连接上允许的LZ4算法的最大压缩级别。该范围与此算法的默认压缩级别相同。如果客户端请求的压缩级别高于此级别,则服务器将使用您在此处设置的级别。如果未指定此系统变量,则服务器将最大压缩级别设置为8。

    • mysqlx_max_allowed_packet

      属性值
      命令行格式--mysqlx-max-allowed-packet=#
      系统变量mysqlx_max_allowed_packet
      范围Global
      动态是
      SET_VAR提示适用没有
      类型整数
      默认值67108864
      最低值512
      最大值1073741824

      X插件可以接收的网络数据包的最大大小。当使用压缩进行连接时,此限制也适用,因此在对消息进行解压缩后,网络数据包必须小于此大小。这是X插件的等价物max_allowed_packet;有关更多信息,请参见该变量。

    • mysqlx_max_connections

      属性值
      命令行格式--mysqlx-max-connections=#
      系统变量mysqlx_max_connections
      范围Global
      动态是
      SET_VAR提示适用没有
      类型整数
      默认值100
      最低值1
      最大值65535

      X插件可以接受的最大并发客户端连接数。这是X插件的等价物max_connections;有关更多信息,请参见该变量。

      对于此变量的修改,如果新值小于当前连接数,则仅对新连接考虑新限制。

    • mysqlx_min_worker_threads

      属性值
      命令行格式--mysqlx-min-worker-threads=#
      系统变量mysqlx_min_worker_threads
      范围Global
      动态是
      SET_VAR提示适用没有
      类型整数
      默认值2
      最低值1
      最大值100

      X插件用于处理客户端请求的最小工作线程数。

    • mysqlx_port

      属性值
      命令行格式--mysqlx-port=port_num
      系统变量mysqlx_port
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型整数
      默认值33060
      最低值1
      最大值65535

      X插件侦听TCP / IP连接的网络端口。这是X插件的等价物port;有关更多信息,请参见该变量。

    • mysqlx_port_open_timeout

      属性值
      命令行格式--mysqlx-port-open-timeout=#
      系统变量mysqlx_port_open_timeout
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型整数
      默认值0
      最低值0
      最大值120

      X插件等待TCP / IP端口可用的秒数。

    • mysqlx_read_timeout

      属性值
      命令行格式--mysqlx-read-timeout=#
      系统变量mysqlx_read_timeout
      范围Session
      动态是
      SET_VAR提示适用没有
      类型整数
      默认值28800
      最低值30
      最大值2147483

      X插件等待阻止读取操作完成的秒数。在此时间之后,如果读取操作不成功,则连接将中止。

    • mysqlx_socket

      属性值
      命令行格式--mysqlx-socket=file_name
      系统变量mysqlx_socket
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型string
      默认值/tmp/mysqlx.sock

      X插件用于连接的Unix套接字文件的路径。只有在Unix操作系统上运行时,MySQL Server才使用此设置。客户端可以使用此套接字通过X插件连接到MySQL Server。

      默认mysqlx_socket路径和文件名基于MySQL服务器主套接字文件的默认路径和文件名,并在文件名后添加了一个x附加名。主套接字文件/tmp/mysql.sock的默认路径和文件名为,因此X插件套接字文件的默认路径和文件名为/tmp/mysqlx.sock。

      如果在服务器启动时使用socket系统变量为主套接字文件指定了备用路径和文件名,则这不会影响X插件套接字文件的默认设置。在这种情况下,如果要将两个套接字都存储在一个路径中,则还必须设置mysqlx_socket系统变量。例如在配置文件中:

      socket=/home/sockets/mysqld/mysql.sock
      mysqlx_socket=/home/sockets/xplugin/xplugin.sock
      

      如果在编译时使用MYSQL_UNIX_ADDRcompile选项更改了主套接字文件的默认路径和文件名,则这确实会影响X插件套接字文件的默认值,该文件是通过x在MYSQL_UNIX_ADDR文件名后附加一个来形成的。如果要在编译时为X插件套接字文件设置其他默认值,请使用MYSQLX_UNIX_ADDRcompile选项。

      该MYSQLX_UNIX_PORT环境变量也可以用于设置在服务器启动时(请参阅X插件套接字文件默认的“环境变量”)。如果设置此环境变量,它将覆盖已编译的MYSQLX_UNIX_ADDR值,但会被该mysqlx_socket值覆盖。

    • mysqlx_ssl_ca

      属性值
      命令行格式--mysqlx-ssl-ca=file_name
      系统变量mysqlx_ssl_ca
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型文件名

      这是X插件的等价物ssl_ca;有关更多信息,请参见该变量。

    • mysqlx_ssl_capath

      属性值
      命令行格式--mysqlx-ssl-capath=dir_name
      系统变量mysqlx_ssl_capath
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型目录名

      这是X插件的等价物ssl_capath;有关更多信息,请参见该变量。

    • mysqlx_ssl_cert

      属性值
      命令行格式--mysqlx-ssl-cert=name
      系统变量mysqlx_ssl_cert
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型文件名

      这是X插件的等价物ssl_cert;有关更多信息,请参见该变量。

    • mysqlx_ssl_cipher

      属性值
      命令行格式--mysqlx-ssl-cipher=name
      系统变量mysqlx_ssl_cipher
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型string

      用于X协议连接的SSL密码。这是X插件的等价物ssl_cipher;有关更多信息,请参见该变量。

    • mysqlx_ssl_crl

      属性值
      命令行格式--mysqlx-ssl-crl=file_name
      系统变量mysqlx_ssl_crl
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型文件名

      这是X插件的等价物ssl_crl;有关更多信息,请参见该变量。

    • mysqlx_ssl_crlpath

      属性值
      命令行格式--mysqlx-ssl-crlpath=dir_name
      系统变量mysqlx_ssl_crlpath
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型目录名

      这是X插件的等价物ssl_crlpath;有关更多信息,请参见该变量。

    • mysqlx_ssl_key

      属性值
      命令行格式--mysqlx-ssl-key=file_name
      系统变量mysqlx_ssl_key
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型文件名

      这是X插件的等价物ssl_key;有关更多信息,请参见该变量。

    • mysqlx_wait_timeout

      属性值
      命令行格式--mysqlx-wait-timeout=#
      系统变量mysqlx_wait_timeout
      范围Session
      动态是
      SET_VAR提示适用没有
      类型整数
      默认值28800
      最低值1
      最大值2147483

      X插件等待连接活动的秒数。在此时间之后,如果读取操作不成功,则连接将中止。如果客户端是非交互式的,则从全局mysqlx_wait_timeout变量复制会话变量的初始值。对于交互式客户端,将从会话复制初始值mysqlx_interactive_timeout。

    • mysqlx_write_timeout

      属性值
      命令行格式--mysqlx-write-timeout=#
      系统变量mysqlx_write_timeout
      范围Session
      动态是
      SET_VAR提示适用没有
      类型整数
      默认值60
      最低值1
      最大值2147483

      X插件等待阻止写操作完成的秒数。在此时间之后,如果写入操作失败,则连接将中止。

    • mysqlx_zstd_default_compression_level

      属性值
      命令行格式--mysqlx_zstd_default_compression_level=#
      介绍了8.0.20
      系统变量mysqlx_zstd_default_compression_level
      范围Global
      动态是
      SET_VAR提示适用没有
      类型整数
      默认值3
      最低值-131072
      最大值22

      服务器在X协议连接上用于zstd算法的默认压缩级别。对于1.4.0或更高版本的zstd库,可以将正值设置为1到22(最高压缩工作量),也可以将负值设置为逐渐减少的工作量。将值0转换为值1。对于zstd库的早期版本,只能指定值3。如果客户端在功能协商期间不要求压缩级别,则使用此级别。如果未指定此系统变量,则服务器使用级别3作为默认值。有关更多信息,请参见“使用X插件进行连接压缩”。

    • mysqlx_zstd_max_client_compression_level

      属性值
      命令行格式--mysqlx_zstd_max_client_compression_level=#
      介绍了8.0.20
      系统变量mysqlx_zstd_max_client_compression_level
      范围Global
      动态是
      SET_VAR提示适用没有
      类型整数
      默认值11
      最低值-131072
      最大值22

      服务器在X协议连接上允许zstd算法的最大压缩级别。该范围与此算法的默认压缩级别相同。如果客户端请求的压缩级别高于此级别,则服务器将使用您在此处设置的级别。如果未指定此系统变量,则服务器会将最大压缩级别设置为11。