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

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


    X插件选项和变量参考

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

    名称Cmd线选项文件系统变量状态变量可变范围动态
    mysqlx
    Mysqlx_aborted_clientsGlobal没有
    Mysqlx_addressGlobal没有
    mysqlx_bind_addressGlobal没有
    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_algorithmSession没有
    mysqlx_compression_algorithmsGlobal
    Mysqlx_compression_levelSession没有
    mysqlx_connect_timeoutGlobal
    Mysqlx_connection_accept_errors没有
    Mysqlx_connection_errors没有
    Mysqlx_connections_acceptedGlobal没有
    Mysqlx_connections_closedGlobal没有
    Mysqlx_connections_rejectedGlobal没有
    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_levelGlobal
    mysqlx_deflate_max_client_compression_levelGlobal
    mysqlx_document_id_unique_prefixGlobal
    mysqlx_enable_hello_noticeGlobal
    Mysqlx_errors_sent没有
    Mysqlx_errors_unknown_message_type没有
    Mysqlx_expect_close没有
    Mysqlx_expect_open没有
    mysqlx_idle_worker_thread_timeoutGlobal
    Mysqlx_init_error没有
    mysqlx_interactive_timeoutGlobal
    mysqlx_lz4_default_compression_levelGlobal
    mysqlx_lz4_max_client_compression_levelGlobal
    mysqlx_max_allowed_packetGlobal
    mysqlx_max_connectionsGlobal
    mysqlx_min_worker_threadsGlobal
    Mysqlx_notice_global_sent没有
    Mysqlx_notice_other_sent没有
    Mysqlx_notice_warning_sent没有
    Mysqlx_notified_by_group_replication没有
    Mysqlx_portGlobal没有
    mysqlx_portGlobal没有
    mysqlx_port_open_timeoutGlobal没有
    mysqlx_read_timeoutSession
    Mysqlx_rows_sent没有
    Mysqlx_sessionsGlobal没有
    Mysqlx_sessions_acceptedGlobal没有
    Mysqlx_sessions_closedGlobal没有
    Mysqlx_sessions_fatal_errorGlobal没有
    Mysqlx_sessions_killedGlobal没有
    Mysqlx_sessions_rejectedGlobal没有
    Mysqlx_socketGlobal没有
    mysqlx_socketGlobal没有
    Mysqlx_ssl_accept_renegotiatesGlobal没有
    Mysqlx_ssl_acceptsGlobal没有
    Mysqlx_ssl_active没有
    mysqlx_ssl_caGlobal没有
    mysqlx_ssl_capathGlobal没有
    mysqlx_ssl_certGlobal没有
    Mysqlx_ssl_cipher没有
    mysqlx_ssl_cipherGlobal没有
    Mysqlx_ssl_cipher_list没有
    mysqlx_ssl_crlGlobal没有
    mysqlx_ssl_crlpathGlobal没有
    Mysqlx_ssl_ctx_verify_depth没有
    Mysqlx_ssl_ctx_verify_mode没有
    Mysqlx_ssl_finished_acceptsGlobal没有
    mysqlx_ssl_keyGlobal没有
    Mysqlx_ssl_server_not_afterGlobal没有
    Mysqlx_ssl_server_not_beforeGlobal没有
    Mysqlx_ssl_verify_depthGlobal没有
    Mysqlx_ssl_verify_modeGlobal没有
    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_timeoutSession
    Mysqlx_worker_threadsGlobal没有
    Mysqlx_worker_threads_activeGlobal没有
    mysqlx_write_timeoutSession
    mysqlx_zstd_default_compression_levelGlobal
    mysqlx_zstd_max_client_compression_levelGlobal
    名称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_streamlz4_messagezstd_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插件套接字文件的默认值,该文件是通过xMYSQL_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。