MySQL8 中文参考(十八)

原文:docs.oracle.com/javase/tutorial/reallybigindex.html

7.1.9 使用系统变量

原文:dev.mysql.com/doc/refman/8.0/en/using-system-variables.html

7.1.9.1 系统变量权限

7.1.9.2 动态系统变量

7.1.9.3 持久化系统变量

7.1.9.4 非持久性和持久受限制的系统变量

7.1.9.5 结构化系统变量

MySQL 服务器维护许多系统变量来配置其操作。第 7.1.8 节,“服务器系统变量”,描述了这些变量的含义。每个系统变量都有一个默认值。系统变量可以在服务器启动时使用命令行选项或选项文件进行设置。大多数系统变量可以通过SET语句在服务器运行时动态更改,这使您可以修改服务器的操作而无需停止和重新启动它。您还可以在表达式中使用系统变量的值。

许多系统变量是内置的。系统变量也可以由服务器插件或组件安装:

  • 当服务器插件安装时,由插件实现的系统变量会暴露出来,并且其名称以插件名称开头。例如,audit_log插件实现了一个名为audit_log_policy的系统变量。

  • 当组件实现的系统变量在安装组件时暴露出来时,其名称以组件特定前缀开头。例如,log_filter_dragnet错误日志过滤组件实现了一个名为log_error_filter_rules的系统变量,其完整名称为dragnet.log_error_filter_rules。要引用此变量,请使用完整名称。

系统变量存在两个范围。全局变量影响服务器的整体操作。会话变量影响单个客户端连接的操作。给定的系统变量可以同时具有全局值和会话值。全局和会话系统变量之间的关系如下:

  • 当服务器启动时,它会将每个全局变量初始化为其默认值。这些默认值可以通过在命令行或选项文件中指定的选项进行更改。(参见第 6.2.2 节,“指定程序选项”.)

  • 服务器还为每个连接的客户端维护一组会话变量。客户端的会话变量在连接时使用相应全局变量的当前值进行初始化。例如,客户端的 SQL 模式由会话sql_mode值控制,该值在客户端连接到全局sql_mode值时进行初始化。

    对于某些系统变量,会话值不是从相应的全局值初始化的;如果是这样,变量描述中会指出。

可以通过在命令行或选项文件中使用选项在服务器启动时全局设置系统变量的值。在启动时,系统变量的语法与命令选项相同,因此在变量名称中,破折号和下划线可以互换使用。例如,--general_log=ON--general-log=ON是等效的。

当您使用启动选项设置需要数字值的变量时,可以使用KMG(大写或小写)的后缀表示 1024、1024²或 1024³的倍数;即,单位为千字节、兆字节或千兆字节。从 MySQL 8.0.14 开始,后缀也可以是TPE,表示 1024⁴、1024⁵或 1024⁶的倍数。因此,以下命令启动服务器时,排序缓冲区大小为 256 千字节,最大数据包大小为 1 千兆字节:

mysqld --sort-buffer-size=256K --max-allowed-packet=1G

在选项文件中,这些变量设置如下:

[mysqld]
sort_buffer_size=256K
max_allowed_packet=1G

后缀字母的大小写不重要;256K256k是等效的,1G1g也是等效的。

要限制可以在运行时使用SET语句设置的系统变量的最大值,请在服务器启动时使用形式为--maximum-*var_name*=*value*的选项指定此最大值。例如,要防止sort_buffer_size的值在运行时增加到超过 32MB,使用选项--maximum-sort-buffer-size=32M

许多系统变量是动态的,可以通过使用SET语句在运行时进行更改。有关列表,请参见 Section 7.1.9.2,“动态系统变量”。要使用SET更改系统变量,请按名称引用,可选地在前面加上修饰符。在运行时,系统变量名称必须使用下划线而不是破折号编写。以下示例简要说明了此语法:

  • 设置全局系统变量:

    SET GLOBAL max_connections = 1000;
    SET @@GLOBAL.max_connections = 1000;
    
  • 将全局系统变量持久化到mysqld-auto.cnf文件(并设置运行时值):

    SET PERSIST max_connections = 1000;
    SET @@PERSIST.max_connections = 1000;
    
  • 将全局系统变量持久化到mysqld-auto.cnf文件(而不设置运行时值):

    SET PERSIST_ONLY back_log = 1000;
    SET @@PERSIST_ONLY.back_log = 1000;
    
  • 设置会话系统变量:

    SET SESSION sql_mode = 'TRADITIONAL';
    SET @@SESSION.sql_mode = 'TRADITIONAL';
    SET @@sql_mode = 'TRADITIONAL';
    

有关SET语法的完整详细信息,请参阅 Section 15.7.6.1, “SET Syntax for Variable Assignment”。有关设置和持久化系统变量所需的特权要求的描述,请参阅 Section 7.1.9.1, “System Variable Privileges”

在服务器启动时设置变量时,可以使用值乘数后缀,但不能在运行时使用SET设置值。另一方面,使用SET可以使用表达式分配变量的值,在服务器启动时设置变量时不适用。例如,以下行中的第一行在服务器启动时是合法的,但第二行不是:

$> mysql --max_allowed_packet=16M
$> mysql --max_allowed_packet=16*1024*1024

相反,以下行中的第二行在运行时是合法的,但第一行不是:

mysql> SET GLOBAL max_allowed_packet=16M;
mysql> SET GLOBAL max_allowed_packet=16*1024*1024;

要显示系统变量名称和值,请使用SHOW VARIABLES语句:

mysql> SHOW VARIABLES;
+---------------------------------+-----------------------------------+
| Variable_name                   | Value                             |
+---------------------------------+-----------------------------------+
| auto_increment_increment        | 1                                 |
| auto_increment_offset           | 1                                 |
| automatic_sp_privileges         | ON                                |
| back_log                        | 151                               |
| basedir                         | /home/mysql/                      |
| binlog_cache_size               | 32768                             |
| bulk_insert_buffer_size         | 8388608                           |
| character_set_client            | utf8mb4                           |
| character_set_connection        | utf8mb4                           |
| character_set_database          | utf8mb4                           |
| character_set_filesystem        | binary                            |
| character_set_results           | utf8mb4                           |
| character_set_server            | utf8mb4                           |
| character_set_system            | utf8mb3                           |
| character_sets_dir              | /home/mysql/share/charsets/       |
| check_proxy_users               | OFF                               |
| collation_connection            | utf8mb4_0900_ai_ci                |
| collation_database              | utf8mb4_0900_ai_ci                |
| collation_server                | utf8mb4_0900_ai_ci                |
...
| innodb_autoextend_increment     | 8                                 |
| innodb_buffer_pool_size         | 8388608                           |
| innodb_commit_concurrency       | 0                                 |
| innodb_concurrency_tickets      | 500                               |
| innodb_data_file_path           | ibdata1:10M:autoextend            |
| innodb_data_home_dir            |                                   |
...
| version                         | 8.0.31                            |
| version_comment                 | Source distribution               |
| version_compile_machine         | x86_64                            |
| version_compile_os              | Linux                             |
| version_compile_zlib            | 1.2.12                            |
| wait_timeout                    | 28800                             |
+---------------------------------+-----------------------------------+

使用LIKE子句,语句仅显示与模式匹配的变量。要获取特定变量名,请使用如下所示的LIKE子句:

SHOW VARIABLES LIKE 'max_join_size';
SHOW SESSION VARIABLES LIKE 'max_join_size';

要获取与模式匹配的变量列表,请在LIKE子句中使用%通配符字符:

SHOW VARIABLES LIKE '%size%';
SHOW GLOBAL VARIABLES LIKE '%size%';

通配符字符可以在要匹配的模式中的任何位置使用。严格来说,因为_是匹配任意单个字符的通配符,您应该将其转义为\_以确实匹配它。实际上,这很少是必要的。

对于SHOW VARIABLES,如果既不指定GLOBAL也不指定SESSION,MySQL 将返回SESSION值。

在设置仅限GLOBAL变量时需要GLOBAL关键字但在检索时不需要的原因是为了防止未来出现问题:

  • 如果删除具有与GLOBAL变量相同名称的SESSION变量,则具有足够权限修改全局变量的客户端可能会意外更改GLOBAL变量,而不仅仅是自己会话的SESSION变量。

  • 如果添加具有与GLOBAL变量相同名称的SESSION变量,则打算更改GLOBAL变量的客户端可能只会发现自己的SESSION变量被更改。

原文:dev.mysql.com/doc/refman/8.0/en/system-variable-privileges.html

7.1.9.1 系统变量权限

系统变量可以具有影响整个服务器操作的全局值,影响仅当前会话的会话值,或两者:

  • 对于动态系统变量,SET语句可用于更改它们的全局或会话运行时值(或两者),以影响当前服务器实例的操作。(有关动态变量的信息,请参见第 7.1.9.2 节,“动态系统变量”。)

  • 对于某些全局系统变量,可以使用SET将它们的值持久化到数据目录中的mysqld-auto.cnf文件,以影响后续启动的服务器操作。(有关持久化系统变量和mysqld-auto.cnf文件的信息,请参见第 7.1.9.3 节,“持久化系统变量”。)

  • 对于持久化的全局系统变量,可以使用RESET PERSIST来从mysqld-auto.cnf中删除它们的值,以影响后续启动的服务器操作。

本节描述了在运行时为系统变量分配值所需的权限。这包括影响运行时值的操作和持久化值的操作。

要设置全局系统变量,请使用带有适当关键字的SET语句。这些权限适用:

  • 要设置全局系统变量的运行时值,请使用SET GLOBAL语句,需要SYSTEM_VARIABLES_ADMIN权限(或已弃用的SUPER权限)。

  • 要将全局系统变量持久化到mysqld-auto.cnf文件(并设置运行时值),请使用SET PERSIST语句,需要SYSTEM_VARIABLES_ADMINSUPER权限。

  • 要将全局系统变量持久化到mysqld-auto.cnf文件(而不设置运行时值),使用SET PERSIST_ONLY语句,需要SYSTEM_VARIABLES_ADMINPERSIST_RO_VARIABLES_ADMIN特权。SET PERSIST_ONLY可用于动态和只读系统变量,但特别适用于持久化只读变量,对于这些变量,不能使用SET PERSIST

  • 一些全局系统变量是持久限制的(参见第 7.1.9.4 节,“不可持久化和持久限制的系统变量”)。要持久化这些变量,使用SET PERSIST_ONLY语句,需要之前描述的特权。此外,您必须使用加密连接连接到服务器,并提供一个 SSL 证书,其 Subject 值由persist_only_admin_x509_subject系统变量指定。

要从mysqld-auto.cnf文件中删除持久化的全局系统变量,请使用RESET PERSIST语句。这些特权适用:

  • 对于动态系统变量,RESET PERSIST需要SYSTEM_VARIABLES_ADMINSUPER特权。

  • 对于只读系统变量,RESET PERSIST需要SYSTEM_VARIABLES_ADMINPERSIST_RO_VARIABLES_ADMIN特权。

  • 对于持久限制的变量,RESET PERSIST不需要使用特定 SSL 证书建立的加密连接到服务器。

如果全局系统变量有任何对前述特权要求的例外情况,变量描述中会指出这些例外情况。例如,default_table_encryptionmandatory_roles需要额外的特权。这些额外的特权适用于设置全局运行时值的操作,但不适用于持久化值的操作。

要设置会话系统变量的运行时值,请使用SET SESSION语句。与设置全局运行时值相比,设置会话运行时值通常不需要特殊权限,并且可以由任何用户执行以影响当前会话。对于某些系统变量,设置会话值可能会影响当前会话之外的效果,因此这是一项受限制的操作,只能由具有特殊权限的用户执行:

  • 从 MySQL 8.0.14 开始,所需的权限是SESSION_VARIABLES_ADMIN

    注意

    任何具有SYSTEM_VARIABLES_ADMINSUPER权限的用户实际上通过暗示具有SESSION_VARIABLES_ADMIN权限,因此不需要显式授予SESSION_VARIABLES_ADMIN

  • 在 MySQL 8.0.14 之前,所需的权限是SYSTEM_VARIABLES_ADMINSUPER

如果会话系统变量受限制,变量描述会指出该限制。例如包括binlog_formatsql_log_bin。设置这些变量的会话值会影响当前会话的二进制日志记录,但也可能对服务器复制和备份的完整性产生更广泛的影响。

SESSION_VARIABLES_ADMIN使管理员能够最小化先前可能已被授予SYSTEM_VARIABLES_ADMINSUPER权限的用户的权限足迹,以便使他们能够修改受限制的会话系统变量。假设管理员已创建以下角色以授予设置受限制会话系统变量的能力:

CREATE ROLE set_session_sysvars;
GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO set_session_sysvars;

任何被授予set_session_sysvars角色(并且该角色处于活动状态)的用户都能够设置受限制的会话系统变量。但是,该用户也能够设置全局系统变量,这可能是不希望的。

通过修改角色为SESSION_VARIABLES_ADMIN而不是SYSTEM_VARIABLES_ADMIN,可以将角色权限减少为仅能够设置受限制的会话系统变量而已。要修改角色,请使用以下语句:

GRANT SESSION_VARIABLES_ADMIN ON *.* TO set_session_sysvars;
REVOKE SYSTEM_VARIABLES_ADMIN ON *.* FROM set_session_sysvars;

修改角色会立即生效:任何被授予set_session_sysvars角色的账户将不再具有SYSTEM_VARIABLES_ADMIN,也无法在未明确授予该权限的情况下设置全局系统变量。类似的GRANT/REVOKE序列可以应用于任何直接被授予SYSTEM_VARIABLES_ADMIN而非通过角色授予的账户。

原文:dev.mysql.com/doc/refman/8.0/en/dynamic-system-variables.html

7.1.9.2 动态系统变量

许多服务器系统变量是动态的,可以在运行时设置。请参阅第 15.7.6.1 节,“变量赋值的 SET 语法”。有关设置系统变量的权限要求的描述,请参阅第 7.1.9.1 节,“系统变量权限”

以下表格列出了所有适用于mysqld中的动态系统变量。

表格列出了每个变量的数据类型和范围。最后一列指示每个变量的范围是全局、会话还是两者兼有。有关设置和使用变量的详细信息,请参阅相应项目描述。在适当的情况下,提供了有关项目的进一步信息的直接链接。

类型为“字符串”的变量接受字符串值。类型为“数值”的变量接受数值。类型为“布尔”的变量可以设置为 0、1、ONOFF。标记为“枚举”的变量通常应设置为变量的可用值之一,但也可以设置为对应所需枚举值的数字。对于枚举系统变量,第一个枚举值对应于 0。这与用于表列的ENUM数据类型不同,对于表列,第一个枚举值对应于 1。

表 7.5 动态系统变量摘要

变量名称变量类型变量范围
activate_all_roles_on_login布尔值全局
admin_ssl_ca文件名全局
admin_ssl_capath目录名称全局
admin_ssl_cert文件名全局
admin_ssl_cipher字符串全局
admin_ssl_crl文件名全局
admin_ssl_crlpath目录名称全局
admin_ssl_key文件名全局
admin_tls_ciphersuites字符串全局
admin_tls_version字符串全局
audit_log_connection_policy枚举全局
audit_log_disable布尔值全局
audit_log_exclude_accounts字符串全局
audit_log_flush布尔值全局
audit_log_format_unix_timestamp布尔值全局
audit_log_include_accounts字符串全局
audit_log_max_size整数全局
audit_log_password_history_keep_days整数全局
audit_log_prune_seconds整数全局
audit_log_read_buffer_size整数不定
audit_log_rotate_on_size整数全局
audit_log_statement_policy枚举全局
authentication_fido_rp_id字符串全局
authentication_kerberos_service_principal字符串全局
authentication_ldap_sasl_auth_method_name字符串全局
authentication_ldap_sasl_bind_base_dn字符串全局
authentication_ldap_sasl_bind_root_dn字符串全局
authentication_ldap_sasl_bind_root_pwd字符串全局
authentication_ldap_sasl_ca_path字符串全局
authentication_ldap_sasl_group_search_attr字符串全局
authentication_ldap_sasl_group_search_filter字符串全局
authentication_ldap_sasl_init_pool_size整数全局
authentication_ldap_sasl_log_status整数全局
authentication_ldap_sasl_max_pool_size整数全局
authentication_ldap_sasl_referral布尔值全局
authentication_ldap_sasl_server_host字符串全局
authentication_ldap_sasl_server_port整数全局
authentication_ldap_sasl_tls布尔值全局
authentication_ldap_sasl_user_search_attr字符串全局
authentication_ldap_simple_auth_method_name字符串全局
authentication_ldap_simple_bind_base_dn字符串全局
authentication_ldap_simple_bind_root_dn字符串全局
authentication_ldap_simple_bind_root_pwd字符串全局
authentication_ldap_simple_ca_path字符串全局
authentication_ldap_simple_group_search_attr字符串全局
authentication_ldap_simple_group_search_filter字符串全局
authentication_ldap_simple_init_pool_size整数全局
authentication_ldap_simple_log_status整数全局
authentication_ldap_simple_max_pool_size整数全局
authentication_ldap_simple_referral布尔值全局
authentication_ldap_simple_server_host字符串全局
authentication_ldap_simple_server_port整数全局
authentication_ldap_simple_tls布尔值全局
authentication_ldap_simple_user_search_attr字符串全局
authentication_policy字符串全局
auto_increment_increment整数两者
auto_increment_offset整数两者
autocommit布尔值两者
automatic_sp_privileges布尔值全局
avoid_temporal_upgrade布尔值全局
big_tables布尔值两者
binlog_cache_size整数全局
binlog_checksum字符串全局
binlog_direct_non_transactional_updates布尔值两者
binlog_encryption布尔值全局
binlog_error_action枚举全局
binlog_expire_logs_auto_purge布尔值全局
binlog_expire_logs_seconds整数全局
binlog_format枚举两者
binlog_group_commit_sync_delay整数全局
binlog_group_commit_sync_no_delay_count整数全局
binlog_max_flush_queue_time整数全局
binlog_order_commits布尔值全局
binlog_row_image枚举两者
binlog_row_metadata枚举全局
binlog_row_value_options集合两者
binlog_rows_query_log_events布尔值两者
binlog_stmt_cache_size整数全局
二进制日志事务压缩布尔值两者
二进制日志事务压缩级别 Zstd整数两者
二进制日志事务依赖历史大小整数全局
二进制日志事务依赖跟踪枚举全局
块加密模式字符串两者
批量插入缓冲区大小整数两者
客户端字符集字符串两者
连接字符集字符串两者
数据库字符集字符串两者
文件系统字符集字符串两者
结果字符集字符串两者
服务器字符集字符串两者
检查代��用户布尔值全局
自动调整并发性布尔值全局
阻止 DDL布尔值全局
克隆缓冲区大小整数全局
克隆 DDL 超时时间整数全局
数据丢弃后延迟时间整数全局
网络故障后克隆赠送者超时时间整数全局
克隆启用压缩布尔值全局
克隆最大并发数整数全局
克隆最大数据带宽整数全局
克隆最大网络带宽整数全局
克隆 SSL CA文件名全局
克隆 SSL 证书文件名全局
clone_ssl_key文件名全局
clone_valid_donor_list字符串全局
collation_connection字符串两者
collation_database字符串两者
collation_server字符串两者
completion_type枚举两者
component_scheduler.enabled布尔值全局
concurrent_insert枚举全局
connect_timeout整数全局
connection_control_failed_connections_threshold整数全局
connection_control_max_connection_delay整数全局
connection_control_min_connection_delay整数全局
connection_memory_chunk_size整数两者
connection_memory_limit整数两者
cte_max_recursion_depth整数两者
debug字符串两者
debug_sync字符串会话
default_collation_for_utf8mb4枚举两者
default_password_lifetime整数全局
default_storage_engine枚举两者
default_table_encryption布尔值两者
default_tmp_storage_engine枚举两者
default_week_format整数两者
delay_key_write枚举全局
delayed_insert_limit整数全局
delayed_insert_timeout整数全局
delayed_queue_size整数全局
div_precision_increment整数两者
dragnet.log_error_filter_rules字符串全局
end_markers_in_json布尔值两者
enforce_gtid_consistency枚举全局
enterprise_encryption.maximum_rsa_key_size整数全局
enterprise_encryption.rsa_support_legacy_padding布尔值全局
eq_range_index_dive_limit整数两者
event_scheduler枚举全局
expire_logs_days整数全局
explain_format枚举两者
explicit_defaults_for_timestamp布尔值两者
flush布尔值全局
flush_time整数全局
foreign_key_checks布尔值两者
ft_boolean_syntax字符串全局
general_log布尔值全局
general_log_file文件名全局
generated_random_password_length整数两者
global_connection_memory_limit整数全局
global_connection_memory_tracking布尔值两者
group_concat_max_len整数两者
group_replication_advertise_recovery_endpoints字符串全局
group_replication_allow_local_lower_version_join布尔值全局
group_replication_auto_increment_increment整数全局
group_replication_autorejoin_tries整数全局
组复制引导组布尔值全局
组复制克隆阈值整数全局
组复制通信调试选项字符串全局
组复制通信最大消息大小整数全局
组复制组件停止超时整数全局
组复制压缩阈值整数全局
组复制一致性枚举双方
组复制强制在所有位置更新检查布尔值全局
组复制退出状态操作枚举全局
组复制流量控制应用程序阈值整数全局
组复制流量控制认证者阈值整数全局
组复制流量控制保持百分比整数全局
组复制流量控制最大配额整数全局
组复制流量控制成员配额百分比整数全局
组复制流量控制最小配额整数全局
组复制流量控制最小恢复配额整数全局
组复制流量控制模式枚举全局
组复制流量控制周期整数全局
group_replication_flow_control_release_percent整数全局
group_replication_force_members字符串全局
group_replication_group_name字符串全局
group_replication_group_seeds字符串全局
group_replication_gtid_assignment_block_size整数全局
group_replication_ip_allowlist字符串全局
group_replication_ip_whitelist字符串全局
group_replication_local_address字符串全局
group_replication_member_expel_timeout整数全局
group_replication_member_weight整数全局
group_replication_message_cache_size整数全局
group_replication_paxos_single_leader布尔值全局
group_replication_poll_spin_loops整数全局
group_replication_recovery_complete_at枚举全局
group_replication_recovery_compression_algorithms集合全局
group_replication_recovery_get_public_key布尔值全局
group_replication_recovery_public_key_path文件名全局
group_replication_recovery_reconnect_interval整数全局
group_replication_recovery_retry_count整数全局
group_replication_recovery_ssl_ca字符串全局
group_replication_recovery_ssl_capath字符串全局
group_replication_recovery_ssl_cert字符串全局
group_replication_recovery_ssl_cipher字符串全局
group_replication_recovery_ssl_crl文件名全局
group_replication_recovery_ssl_crlpath目录名称全局
group_replication_recovery_ssl_key字符串全局
group_replication_recovery_ssl_verify_server_cert布尔值全局
group_replication_recovery_tls_ciphersuites字符串全局
group_replication_recovery_tls_version字符串全局
group_replication_recovery_use_ssl布尔值全局
group_replication_recovery_zstd_compression_level整数全局
group_replication_single_primary_mode布尔值全局
group_replication_ssl_mode枚举全局
group_replication_start_on_boot布尔值全局
group_replication_tls_source枚举全局
group_replication_transaction_size_limit整数全局
group_replication_unreachable_majority_timeout整数全局
group_replication_view_change_uuid字符串全局
gtid_executed_compression_period整数全局
gtid_mode枚举全局
gtid_next枚举会话
gtid_purged字符串全局
histogram_generation_max_mem_size整数两者
host_cache_size整数全局
identity整数会话
immediate_server_version整数会话
information_schema_stats_expiry整数两者
init_connect字符串全局
init_replica字符串全局
init_slave字符串全局
innodb_adaptive_flushing布尔值全局
innodb_adaptive_flushing_lwm整数全局
innodb_adaptive_hash_index布尔值全局
innodb_adaptive_max_sleep_delay整数全局
innodb_api_bk_commit_interval整数全局
innodb_api_trx_level整数全局
innodb_autoextend_increment整数全局
innodb_background_drop_list_empty布尔值全局
innodb_buffer_pool_dump_at_shutdown布尔值全局
innodb_buffer_pool_dump_now布尔值全局
innodb_buffer_pool_dump_pct整数全局
innodb_buffer_pool_filename文件名全局
innodb_buffer_pool_in_core_file布尔值全局
innodb_buffer_pool_load_abort布尔值全局
innodb_buffer_pool_load_now布尔值全局
innodb_buffer_pool_size整数全局
innodb_change_buffer_max_size整数全局
innodb_change_buffering枚举全局
innodb_change_buffering_debug整数全局
innodb_checkpoint_disabled布尔值全局
innodb_checksum_algorithm枚举全局
innodb_cmp_per_index_enabled布尔值全局
innodb_commit_concurrency整数全局
innodb_compress_debug枚举全局
innodb_compression_failure_threshold_pct整数全局
innodb_compression_level整数全局
innodb_compression_pad_pct_max整数全局
innodb_concurrency_tickets整数全局
innodb_ddl_buffer_size整数全局
innodb_ddl_log_crash_reset_debug布尔值全局
innodb_ddl_threads整数全局
innodb_deadlock_detect布尔值全局
innodb_default_row_format枚举全局
innodb_disable_sort_file_cache布尔值全局
innodb_doublewrite枚举全局
innodb_extend_and_initialize布尔值全局
innodb_fast_shutdown整数全局
innodb_fil_make_page_dirty_debug整数全局
innodb_file_per_table布尔值全局
innodb_fill_factor整数全局
innodb_flush_log_at_timeout整数全局
innodb_flush_log_at_trx_commit枚举全局
innodb_flush_neighbors枚举全局
innodb_flush_sync布尔值全局
innodb_flushing_avg_loops整数全局
innodb_fsync_threshold整数全局
innodb_ft_aux_table字符串全局
innodb_ft_enable_diag_print布尔值全局
innodb_ft_enable_stopword布尔值两者
innodb_ft_num_word_optimize整数全局
innodb_ft_result_cache_limit整数全局
innodb_ft_server_stopword_table字符串全局
innodb_ft_user_stopword_table字符串两者
innodb_idle_flush_pct整数全局
innodb_io_capacity整数全局
innodb_io_capacity_max整数全局
innodb_limit_optimistic_insert_debug整数全局
innodb_lock_wait_timeout整数两者
innodb_log_buffer_size整数全局
innodb_log_checkpoint_fuzzy_now布尔值全局
innodb_log_checkpoint_now布尔值全局
innodb_log_checksums布尔值全局
innodb_log_compressed_pages布尔值全局
innodb_log_spin_cpu_abs_lwm整数全局
innodb_log_spin_cpu_pct_hwm整数全局
innodb_log_wait_for_flush_spin_hwm整数全局
innodb_log_write_ahead_size整数全局
innodb_log_writer_threads布尔值全局
innodb_lru_scan_depth整数全局
innodb_max_dirty_pages_pct数值全局
innodb_max_dirty_pages_pct_lwm数值全局
innodb_max_purge_lag整数全局
innodb_max_purge_lag_delay整数全局
innodb_max_undo_log_size整数全局
innodb_merge_threshold_set_all_debug整数全局
innodb_monitor_disable字符串全局
innodb_monitor_enable字符串全局
innodb_monitor_reset枚举全局
innodb_monitor_reset_all枚举全局
innodb_old_blocks_pct整数全局
innodb_old_blocks_time整数全局
innodb_online_alter_log_max_size整数全局
innodb_open_files整数全局
innodb_optimize_fulltext_only布尔值全局
innodb_parallel_read_threads整数会话
innodb_print_all_deadlocks布尔值全局
innodb_print_ddl_logs布尔值全局
innodb_purge_batch_size整数全局
innodb_purge_rseg_truncate_frequency整数全局
innodb_random_read_ahead布尔值全局
innodb_read_ahead_threshold整数全局
innodb_redo_log_archive_dirs字符串全局
innodb_redo_log_capacity整数全局
innodb_redo_log_encrypt布尔值全局
innodb_replication_delay整数全局
innodb_rollback_segments整数全局
innodb_saved_page_number_debug整数全局
innodb_segment_reserve_factor数值全局
innodb_spin_wait_delay整数全局
innodb_spin_wait_pause_multiplier整数全局
innodb_stats_auto_recalc布尔值全局
innodb_stats_include_delete_marked布尔值全局
innodb_stats_method枚举全局
innodb_stats_on_metadata布尔值全局
innodb_stats_persistent布尔值全局
innodb_stats_persistent_sample_pages整数全局
innodb_stats_transient_sample_pages整数全局
innodb_status_output布尔值全局
innodb_status_output_locks布尔值全局
innodb_strict_mode布尔值两者
innodb_sync_spin_loops整数全局
innodb_table_locks布尔值两者
innodb_thread_concurrency整数全局
innodb_thread_sleep_delay整数全局
innodb_tmpdir目录名称两者
innodb_trx_purge_view_update_only_debug布尔值全局
innodb_trx_rseg_n_slots_debug整数全局
innodb_undo_log_encrypt布尔值全局
innodb_undo_log_truncate布尔值全局
innodb_undo_tablespaces整数全局
innodb_use_fdatasync布尔值全局
insert_id整数会话
interactive_timeout整数两者
internal_tmp_disk_storage_engine枚举全局
internal_tmp_mem_storage_engine枚举两者
join_buffer_size整数两者
keep_files_on_create布尔值两者
key_buffer_size整数全局
key_cache_age_threshold整数全局
key_cache_block_size整数全局
key_cache_division_limit整数全局
keyring_aws_cmk_id字符串全局
keyring_aws_region枚举全局
keyring_encrypted_file_data文件名全局
keyring_encrypted_file_password字符串全局
keyring_file_data文件名全局
keyring_hashicorp_auth_path字符串全局
keyring_hashicorp_ca_path文件名全局
keyring_hashicorp_caching布尔值全局
keyring_hashicorp_role_id字符串全局
keyring_hashicorp_secret_id字符串全局
keyring_hashicorp_server_url字符串全局
keyring_hashicorp_store_path字符串全局
keyring_okv_conf_dir目录名全局
keyring_operations布尔值全局
last_insert_id整数会话
lc_messages字符串两者
lc_time_names字符串两者
local_infile布尔值全局
lock_wait_timeout整数两者
log_bin_trust_function_creators布尔值全局
log_bin_use_v1_row_events布尔值全局
log_error_services字符串全局
log_error_suppression_list字符串全局
log_error_verbosity整数全局
log_output集合全局
log_queries_not_using_indexes布尔值全局
log_raw布尔值全局
log_slow_admin_statements布尔值全局
log_slow_extra布尔值全局
log_slow_replica_statements布尔值全局
log_slow_slave_statements布尔值全局
log_statements_unsafe_for_binlog布尔值全局
log_syslog布尔值全局
log_syslog_facility字符串全局
log_syslog_include_pid布尔值全局
log_syslog_tag字符串全局
log_throttle_queries_not_using_indexes整数全局
log_timestamps枚举全局
long_query_time数值两者
low_priority_updates布尔值两者
mandatory_roles字符串全局
master_info_repository字符串全局
master_verify_checksum布尔值全局
max_allowed_packet整数两者
max_binlog_cache_size整数全局
max_binlog_size整数全局
max_binlog_stmt_cache_size整数全局
max_connect_errors整数全局
max_connections整数全局
max_delayed_threads整数通用
max_error_count整数通用
max_execution_time整数通用
max_heap_table_size整数通用
max_insert_delayed_threads整数通用
max_join_size整数通用
max_length_for_sort_data整数通用
max_points_in_geometry整数通用
max_prepared_stmt_count整数全局
max_relay_log_size整数全局
max_seeks_for_key整数通用
max_sort_length整数通用
max_sp_recursion_depth整数通用
max_user_connections整数通用
max_write_lock_count整数全局
min_examined_row_limit整数通用
myisam_data_pointer_size整数全局
myisam_max_sort_file_size整数全局
myisam_repair_threads整数通用
myisam_sort_buffer_size整数通用
myisam_stats_method枚举通用
myisam_use_mmap布尔值全局
mysql_firewall_mode布尔值全局
mysql_firewall_trace布尔值全局
mysql_native_password_proxy_users布尔值全局
mysqlx_compression_algorithms集合全局
mysqlx_connect_timeout整数全局
mysqlx_deflate_default_compression_level整数全局
mysqlx_deflate_max_client_compression_level整数全局
mysqlx_document_id_unique_prefix整数全局
mysqlx_enable_hello_notice布尔值全局
mysqlx_idle_worker_thread_timeout整数全局
mysqlx_interactive_timeout整数全局
mysqlx_lz4_default_compression_level整数全局
mysqlx_lz4_max_client_compression_level整数全局
mysqlx_max_allowed_packet整数全局
mysqlx_max_connections整数全局
mysqlx_min_worker_threads整数全局
mysqlx_read_timeout整数会话
mysqlx_wait_timeout整数会话
mysqlx_write_timeout整数会话
mysqlx_zstd_default_compression_level整数全局
mysqlx_zstd_max_client_compression_level整数全局
ndb_allow_copying_alter_table布尔值两者
ndb_autoincrement_prefetch_sz整数两者
ndb_batch_size整数两者
ndb_blob_read_batch_bytes整数两者
ndb_blob_write_batch_bytes整数两者
ndb_clear_apply_status布尔值全局
ndb_conflict_role枚举全局
ndb_data_node_neighbour整数全局
ndb_dbg_check_shares整数两者
ndb_default_column_format枚举全局
ndb_default_column_format枚举全局
ndb_deferred_constraints整数两者
ndb_deferred_constraints整数两者
ndb_distribution枚举全局
ndb_distribution枚举全局
ndb_eventbuffer_free_percent整数全局
ndb_eventbuffer_max_alloc整数全局
ndb_extra_logging整数全局
ndb_force_send布尔值两者
ndb_fully_replicated布尔值两者
ndb_index_stat_enable布尔值两者
ndb_index_stat_option字符串两者
ndb_join_pushdown布尔值两者
ndb_log_binlog_index布尔值全局
ndb_log_empty_epochs布尔值全局
ndb_log_empty_epochs布尔值全局
ndb_log_empty_update布尔值全局
ndb_log_empty_update布尔值全局
ndb_log_exclusive_reads布尔值两者
ndb_log_exclusive_reads布尔值两者
ndb_log_transaction_compression布尔值全局
ndb_log_transaction_compression_level_zstd整数全局
ndb_log_update_as_write布尔值全局
ndb_log_update_minimal布尔值全局
ndb_log_updated_only布尔值全局
ndb_metadata_check布尔值全局
ndb_metadata_check_interval整数全局
ndb_metadata_sync布尔值全局
ndb_optimization_delay整数全局
ndb_read_backup布尔值全局
ndb_recv_thread_activation_threshold整数全局
ndb_recv_thread_cpu_mask位图全局
ndb_replica_batch_size整数全局
ndb_replica_blob_write_batch_bytes整数全局
ndb_report_thresh_binlog_epoch_slip整数全局
ndb_report_thresh_binlog_mem_usage整数全局
ndb_row_checksum整数两者
ndb_schema_dist_lock_wait_timeout整数全局
ndb_show_foreign_key_mock_tables布尔值全局
ndb_slave_conflict_role枚举全局
ndb_table_no_logging布尔值会话
ndb_table_temporary布尔值会话
ndb_use_exact_count布尔值两者
ndb_use_transactions布尔值两者
ndbinfo_max_bytes整数两者
ndbinfo_max_rows整数两者
ndbinfo_offline布尔值全局
ndbinfo_show_hidden布尔值两者
net_buffer_length整数两者
net_read_timeout整数两者
net_retry_count整数两者
net_write_timeout整数两者
new布尔值两者
offline_mode布尔值全局
旧 ALTER TABLE布尔值两者
优化器修剪级别整数两者
优化器搜索深度整数两者
优化器开关集合两者
优化器跟踪字符串两者
优化器跟踪特性字符串两者
优化器跟踪限制整数两者
优化器跟踪最大内存大小整数两者
优化器跟踪偏移量整数两者
原始提交时间戳数值会话
原始服务器版本整数会话
解析器最大内存大小整数两者
部分撤销布尔值全局
密码历史整数全局
密码要求当前布尔值全局
密码重用间隔整数全局
性能模式最大摘要样本年龄整数全局
性能模式显示进程列表布尔值全局
预加载缓冲区大小整数两者
打印标识为十六进制布尔值两者
性能分析布尔值两者
性能分析历史大小整数两者
协议压缩算法集合全局
伪复制模式布尔值会话
伪从模式布尔值会话
伪线程 ID整数会话
查询分配块大小整数两者
查询预分配大小整数两者
随机种子 1整数会话
随机种子 2整数会话
范围分配块大小整数两者
范围优化器最大内存大小整数两者
RBR 执行模式枚举会话
读取缓冲区大小整数两者
只读布尔值全局
读取随机缓冲区大小整数两者
正则表达式堆栈限制整数全局
正则表达式超时限制整数全局
中继日志信息存储库字符串全局
中继日志清理布尔值全局
复制允许批处理布尔值全局
复制检查点组整数全局
复制检查点周期整数全局
复制压缩协议布尔值全局
复制执行模式枚举全局
复制最大允许数据包大小整数全局
复制网络超时整数全局
复制并行类型枚举全局
复制并行工作者整数全局
复制待处理作业最大大小整数全局
复制保留提交顺序布尔值全局
复制 SQL 验证校验和布尔值全局
复制事务重试次数整数全局
复制类型转换集合全局
复制优化静态插件配置布尔值全局
replication_sender_observe_commit_only布尔值全局
require_row_format布尔值会话
require_secure_transport布尔值全局
resultset_metadata枚举会话
rewriter_enabled布尔值全局
rewriter_enabled_for_threads_without_privilege_checks布尔值全局
rewriter_verbose整数全局
rpl_read_size整数全局
rpl_semi_sync_master_enabled布尔值全局
rpl_semi_sync_master_timeout整数全局
rpl_semi_sync_master_trace_level整数全局
rpl_semi_sync_master_wait_for_slave_count整数全局
rpl_semi_sync_master_wait_no_slave布尔值全局
rpl_semi_sync_master_wait_point枚举全局
rpl_semi_sync_replica_enabled布尔值全局
rpl_semi_sync_replica_trace_level整数全局
rpl_semi_sync_slave_enabled布尔值全局
rpl_semi_sync_slave_trace_level整数全局
rpl_semi_sync_source_enabled布尔值全局
rpl_semi_sync_source_timeout整数全局
rpl_semi_sync_source_trace_level整数全局
rpl_semi_sync_source_wait_for_replica_count整数全局
rpl_semi_sync_source_wait_no_replica布尔值全局
rpl_semi_sync_source_wait_point枚举全局
rpl_stop_replica_timeout整数全局
rpl_stop_slave_timeout整数全局
schema_definition_cache整数全局
secondary_engine_cost_threshold数值会话
select_into_buffer_size整数双方
select_into_disk_sync布尔值双方
select_into_disk_sync_delay整数双方
server_id整数全局
session_track_gtids枚举双方
session_track_schema布尔值双方
session_track_state_change布尔值双方
session_track_system_variables字符串双方
session_track_transaction_info枚举双方
sha256_password_proxy_users布尔值全局
show_create_table_skip_secondary_engine布尔值会话
show_create_table_verbosity布尔值双方
show_gipk_in_create_table_and_information_schema布尔值双方
show_old_temporals布尔值双方
slave_allow_batching布尔值全局
slave_checkpoint_group整数全局
slave_checkpoint_period整数全局
slave_compressed_protocol布尔值全局
slave_exec_mode枚举全局
slave_max_allowed_packet整数全局
slave_net_timeout整数全局
slave_parallel_type枚举全局
slave_parallel_workers整数全局
slave_pending_jobs_size_max整数全局
slave_preserve_commit_order布尔值全局
slave_rows_search_algorithms集合全局
slave_sql_verify_checksum布尔值全局
slave_transaction_retries整数全局
slave_type_conversions集合全局
slow_launch_time整数全局
slow_query_log布尔值全局
slow_query_log_file文件名全局
sort_buffer_size整数两者
source_verify_checksum布尔值全局
sql_auto_is_null布尔值两者
sql_big_selects布尔值两者
sql_buffer_result布尔值两者
sql_generate_invisible_primary_key布尔值两者
sql_log_bin布尔值会话
sql_log_off布尔值两者
sql_mode集合两者
sql_notes布尔值两者
sql_quote_show_create布尔值两者
sql_replica_skip_counter整数全局
sql_require_primary_key布尔值两者
sql_safe_updates布尔值两者
sql_select_limit整数两者
sql_slave_skip_counter整数全局
sql_warnings布尔值两者
ssl_ca文件名全局
ssl_capath目录名全局
ssl_cert文件名全局
ssl_cipher字符串全局
ssl_crl文件名全局
ssl_crlpath目录名全局
ssl_key文件名全局
ssl_session_cache_mode布尔值全局
ssl_session_cache_timeout整数全局
stored_program_cache整数全局
stored_program_definition_cache整数全局
super_read_only布尔值全局
sync_binlog整数全局
sync_master_info整数全局
sync_relay_log整数全局
sync_relay_log_info整数全局
sync_source_info整数全局
syseventlog.facility字符串全局
syseventlog.include_pid布尔值全局
syseventlog.tag字符串全局
table_definition_cache整数全局
table_encryption_privilege_check布尔值全局
table_open_cache整数全局
tablespace_definition_cache整数全局
temptable_max_mmap整数全局
temptable_max_ram整数全局
temptable_use_mmap布尔值全局
terminology_use_previous枚举两者
thread_cache_size整数全局
thread_pool_high_priority_connection整数两者
thread_pool_max_active_query_threads整数全局
thread_pool_max_transactions_limit整数全局
thread_pool_max_unused_threads整数全局
thread_pool_prio_kickup_timer整数全局
thread_pool_query_threads_per_group整数全局
thread_pool_stall_limit整数全局
thread_pool_transaction_delay整数全局
time_zone字符串全局
timestamp数值会话
tls_ciphersuites字符串全局
tls_version字符串全局
tmp_table_size整数全局
transaction_alloc_block_size整数全局
transaction_allow_batching布尔值会话
transaction_isolation枚举全局
transaction_prealloc_size整数全局
transaction_read_only布尔值全局
transaction_write_set_extraction枚举全局
unique_checks布尔值全局
updatable_views_with_limit布尔值全局
use_secondary_engine枚举会话
validate_password_check_user_name布尔值全局
validate_password_dictionary_file文件名全局
validate_password_length整数全局
validate_password_mixed_case_count整数全局
validate_password_number_count整数全局
validate_password_policy枚举全局
validate_password_special_char_count整数全局
validate_password.changed_characters_percentage整数全局
validate_password.check_user_name布尔值全局
validate_password.dictionary_file文件名全局
validate_password.length整数全局
validate_password.mixed_case_count整数全局
validate_password.number_count整数全局
validate_password.policy枚举全局
validate_password.special_char_count整数全局
version_tokens_session字符串两者
wait_timeout整数两者
windowing_use_high_precision布尔值两者
xa_detach_on_prepare布尔值两者
变量名称变量类型变量范围

原文:dev.mysql.com/doc/refman/8.0/en/persisted-system-variables.html

7.1.9.3 持久化系统变量

MySQL 服务器维护配置其操作的系统变量。系统变量可以具有影响整个服务器操作的全局值,影响当前会话的会话值,或两者都有。许多系统变量是动态的,可以使用SET语句在运行时更改,以影响当前服务器实例的操作。SET也可以用于将某些全局系统变量持久化到数据目录中的mysqld-auto.cnf文件中,以影响后续启动时的服务器操作。RESET PERSIST会从mysqld-auto.cnf中删除持久化的设置。

以下讨论描述了持久化系统变量的方面:

  • 持久化系统变量概述

  • 持久化系统变量的语法

  • 获取有关持久化系统变量的信息

  • mysqld-auto.cnf 文件的格式和服务器处理方式

  • 持久化敏感系统变量

持久化系统变量概述

在运行时持久化全局系统变量的能力使得服务器配置可以持续跨越服务器启动。尽管许多系统变量可以在启动时从my.cnf选项文件设置,或者使用SET语句在运行时设置,但这些配置服务器的方法要么需要登录到服务器主机,要么不能提供在运行时或远程持久配置服务器的能力:

  • 修改选项文件需要直接访问该文件,这需要登录到 MySQL 服务器主机。这并不总是方便的。

  • 使用SET GLOBAL修改系统变量是一种运行时功能,可以从本地运行的客户端或远程主机执行,但更改仅影响当前运行的服务器实例。这些设置不是持久的,也不会传递到后续的服务器启动。

为了增强服务器配置的管理能力,超出了通过编辑选项文件或使用SET GLOBAL所能实现的范围,MySQL 提供了SET语法的变体,将系统变量设置持久化到名为mysqld-auto.cnf的文件中。示例:

SET PERSIST max_connections = 1000;
SET @@PERSIST.max_connections = 1000;

SET PERSIST_ONLY back_log = 100;
SET @@PERSIST_ONLY.back_log = 100;

MySQL 还提供了一个RESET PERSIST语句,用于从mysqld-auto.cnf中删除持久化的系统变量。

通过持久化系统变量执行的服务器配置具有以下特点:

  • 持久化设置是在运行时进行的。

  • 持久化设置是永久的。它们在服务器重新启动时生效。

  • 持久化设置可以来自本地客户端或从远程主机连接的客户端。这提供了从中央客户端主机远程配置多个 MySQL 服务器的便利。

  • 要持久化系统变量,您无需登录 MySQL 服务器主机或具有选项文件的文件系统访问权限。持久化设置的能力是通过 MySQL 权限系统控制的。请参见 Section 7.1.9.1, “系统变量权限”。

  • 拥有足够权限的管理员可以通过持久化系统变量重新配置服务器,然后通过执行RESTART语句立即使服务器使用更改后的设置。

  • 持久化设置提供有关错误的即时反馈。手动输入设置中的错误可能要到很久之后才能发现。持久化系统变量的SET语句避免了设置格式错误的可能性,因为具有语法错误的设置不会成功,也不会更改服务器配置。

持久化系统变量的语法

这些SET语法选项可用于持久化系统变量:

  • 要将全局系统变量持久化到数据目录中的mysqld-auto.cnf选项文件中,需在变量名之前加上PERSIST关键字或@@PERSIST.限定符:

    SET PERSIST max_connections = 1000;
    SET @@PERSIST.max_connections = 1000;
    

    SET GLOBAL类似,SET PERSIST设置全局变量的运行时值,但也将变量设置写入mysqld-auto.cnf文件(如果存在任何现有变量设置,则会替换它)。

  • 要将全局系统变量持久化到mysqld-auto.cnf文件中,而不设置全局变量运行时值,需在变量名之前加上PERSIST_ONLY关键字或@@PERSIST_ONLY.限定符:

    SET PERSIST_ONLY back_log = 1000;
    SET @@PERSIST_ONLY.back_log = 1000;
    

    PERSIST 类似,PERSIST_ONLY 将变量设置写入 mysqld-auto.cnf。但是,与 PERSIST 不同,PERSIST_ONLY 不会修改全局变量的运行时值。这使得 PERSIST_ONLY 适用于配置只能在服务器启动时设置的只读系统变量。

有关 SET 的更多信息,请参阅 Section 15.7.6.1, “SET Syntax for Variable Assignment”。

这些 RESET PERSIST 语法选项可用于移除持久化系统变量:

  • 要从 mysqld-auto.cnf 中删除所有持久化变量,请使用 RESET PERSIST 而不命名任何系统变量:

    RESET PERSIST;
    
  • 要从 mysqld-auto.cnf 中删除特定的持久化变量,请在语句中命名它:

    RESET PERSIST *system_var_name*;
    

    这包括插件系统变量,即使插件当前未安装。如果变量不存在于文件中,则会发生错误。

  • 要从 mysqld-auto.cnf 中删除特定的持久化变量,但如果变量不存在于文件中则产生警告而不是错误,请在先前的语法中添加 IF EXISTS 子句:

    RESET PERSIST IF EXISTS *system_var_name*;
    

有关 RESET PERSIST 的更多信息,请参阅 Section 15.7.8.7, “RESET PERSIST Statement”。

使用 SET 将全局系统变量持久化为 DEFAULT 值或其字面默认值会将变量分配为其默认值,并向 mysqld-auto.cnf 添加变量设置。要从文件中删除变量,请使用 RESET PERSIST

一些系统变量无法持久化。请参阅 Section 7.1.9.4, “Nonpersistible and Persist-Restricted System Variables”。

如果插件在执行 SET 语句时已安装,则插件实现的系统变量可以持久化。如果插件仍然安装,则持久化插件变量的分配将在后续服务器重新启动时生效。如果插件不再安装,则当服务器读取 mysqld-auto.cnf 文件时插件变量不存在。在这种情况下,服务器会向错误日志写入警告并继续:

currently unknown variable '*var_name*'
was read from the persisted config file
获取有关持久化系统变量的信息

Performance Schema persisted_variables 表提供了对 mysqld-auto.cnf 文件的 SQL 接口,使得可以使用 SELECT 语句在运行时检查其内容。参见 Section 29.12.14.1, “Performance Schema persisted_variables Table”。

Performance Schema variables_info 表包含了显示每个系统变量最近由哪个用户何时设置的信息。参见 Section 29.12.14.2, “Performance Schema variables_info Table”。

RESET PERSIST 会影响 persisted_variables 表的内容,因为表内容对应于 mysqld-auto.cnf 文件的内容。另一方面,因为 RESET PERSIST 不会更改变量值,所以在服务器重新启动之前,它不会对 variables_info 表的内容产生影响。

mysqld-auto.cnf 文件的格式和服务器处理

mysqld-auto.cnf 文件使用类似以下的 JSON 格式(稍作整理以提高可读性):

{
  "Version": 1,
  "mysql_server": {
    "max_connections": {
      "Value": "152",
      "Metadata": {
        "Timestamp": 1519921341372531,
        "User": "root",
        "Host": "localhost"
      }
    },
    "transaction_isolation": {
      "Value": "READ-COMMITTED",
      "Metadata": {
        "Timestamp": 1519921553880520,
        "User": "root",
        "Host": "localhost"
      }
    },
    "mysql_server_static_options": {
      "innodb_api_enable_mdl": {
        "Value": "0",
        "Metadata": {
          "Timestamp": 1519922873467872,
          "User": "root",
          "Host": "localhost"
        }
      },
      "log_slave_updates": {
        "Value": "1",
        "Metadata": {
          "Timestamp": 1519925628441588,
          "User": "root",
          "Host": "localhost"
        }
      }
    }
  }
}

在启动时,服务器在处理所有其他选项文件之后处理 mysqld-auto.cnf 文件(参见 Section 6.2.2.2, “使用选项文件”)。服务器处理文件内容如下:

  • 如果 persisted_globals_load 系统变量已禁用,则服务器会忽略 mysqld-auto.cnf 文件。

  • "mysql_server_static_options" 部分包含使用 SET PERSIST_ONLY 持久化的只读变量。该部分也可能(尽管其名称如此)包含某些不是只读的动态变量。此部分中的所有变量都会附加��命令行并与其他命令行选项一起处理。

  • 所有剩余的持久化变量都是通过在服务器开始监听客户端连接之前执行等效的 SET GLOBAL 语句来设置的。因此,这些设置直到启动过程的后期才会生效,这对于某些系统变量可能不太合适。在 my.cnf 而不是 mysqld-auto.cnf 中设置这些变量可能更可取。

mysqld-auto.cnf文件的管理应留给服务器处理。文件的操作应仅使用SETRESET PERSIST语句执行,而不是手动操作:

  • 删除文件会导致在下次服务器启动时丢失所有持久化设置。(如果您的意图是重新配置服务器而不需要这些设置,则可以这样做。)要删除文件中的所有设置而不删除文件本身,请使用以下语句:

    RESET PERSIST;
    
  • 对文件的手动更改可能会导致服务器启动时出现解析错误。在这种情况下,服务器会报告错误并退出。如果出现此问题,请使用persisted_globals_load系统变量禁用或使用--no-defaults选项启动服务器。或者,删除mysqld-auto.cnf文件。但是,如前所述,删除此文件会导致所有持久化设置丢失。

持久化敏感系统变量

从 MySQL 8.0.29 开始,MySQL 服务器具有安全存储包含私钥或密码等敏感数据的持久化系统变量值的能力,并限制查看这些值。目前没有 MySQL 服务器系统变量被标记为敏感,但新功能允许将包含敏感数据的系统变量在未来安全地持久化。升级到 MySQL 8.0.29 后,mysqld-auto.cnf选项文件的格式保持不变,直到首次发出SET PERSISTSET PERSIST ONLY语句,此时即使涉及的系统变量不敏感,也会更改为新格式。在新格式中,即使涉及的系统变量不敏感,旧版本的 MySQL 服务器也无法读取选项文件。

注意

MySQL 服务器实例必须启用一个密钥环组件,以支持对持久化系统变量值进行安全存储,而不是使用不支持此功能的密钥环插件。请参阅第 8.4.4 节,“MySQL 密钥环”。

mysqld-auto.cnf选项文件中,敏感系统变量的名称和值以加密格式存储,同时还有一个生成的文件密钥用于解密它们。生成的文件密钥又使用一个存储在密钥环中的主密钥(persisted_variables_key)进行加密。服务器启动时,持久化的敏感系统变量会被解密并使用。默认情况下,如果选项文件中存在加密值但在启动时无法成功解密,将使用它们的默认设置。可选的最安全设置会使服务器在无法解密加密值时停止启动。

系统变量persist_sensitive_variables_in_plaintext控制服务器是否允许以未加密格式存储敏感系统变量的值,如果在使用SET PERSIST设置值时,此时不支持密钥环组件。它还控制服务器是否可以在无法解密加密值时启动。

  • 默认设置为ON,如果支持密钥环组件,则对值进行加密,并在不支持时以未加密方式持久化(附带警告)。下次设置任何持久化的系统变量时,如果此时支持密钥环,则服务器会加密任何未加密的敏感系统变量的值。ON设置还允许服务器在无法解密加密的系统变量值时启动,此时会发出警告并使用系统变量的默认值。在这种情况下,直到可以解密为止,它们的值不能被更改。

  • 最安全的设置为OFF,意味着如果密钥环组件支持不可用,则敏感系统变量值无法持久化。OFF设置还意味着如果无法解密加密的系统变量值,则服务器不会启动。

特权SENSITIVE_VARIABLES_OBSERVER允许持有者查看性能模式表global_variablessession_variablesvariables_by_threadpersisted_variables中敏感系统变量的值,发出SELECT语句返回它们的值,并在会话跟踪器中跟踪对它们的更改。没有此特权的用户无法查看或跟踪这些系统变量的值。

如果对敏感系统变量发出SET语句,则在记录到一般日志和审计日志之前,查询会被重写以将值替换为“<redacted>”。即使服务器实例上没有通过密钥环组件进行安全存储,也会发生这种情况。

原文:dev.mysql.com/doc/refman/8.0/en/nonpersistible-system-variables.html

7.1.9.4 不可持久化和受持久化限制的系统变量

SET PERSISTSET PERSIST_ONLY 允许全局系统变量被持久化到数据目录中的 mysqld-auto.cnf 选项文件中(参见 Section 15.7.6.1, “变量赋值的 SET 语法”)。然而,并非所有系统变量都可以被持久化,或者只能在某些限制条件下被持久化。以下是系统变量可能为不可持久化或受持久化限制的一些原因:

  • 会话系统变量无法被持久化。会话变量无法在服务器启动时设置,因此没有理由将它们持久化。

  • 全局系统变量可能涉及敏感数据,因此只能由直接访问服务器主机的用户设置。

  • 全局系统变量可能是只读的(即只能由服务器设置)。在这种情况下,无论是在服务器启动时还是在运行时,用户都无法设置它。

  • 全局系统变量可能仅供内部使用。

不可持久化的系统变量无论如何都不能被持久化。从 MySQL 8.0.14 开始,受持久化限制的系统变量可以通过 SET PERSIST_ONLY 被持久化,但只能由满足以下条件的用户进行:

  • persist_only_admin_x509_subject 系统变量设置为 SSL 证书 X.509 主题值。

  • 用户使用加密连接连接到服务器,并提供具有指定主题值的 SSL 证书。

  • 用户具有足够的权限使用 SET PERSIST_ONLY(参见 Section 7.1.9.1, “系统变量权限”)。

例如,protocol_version 是只读的,只能由服务器设置,因此无论如何都不能持久化。另一方面,bind_address 是受持久化限制的,因此只有符合前述条件的用户才能设置它。

以下系统变量是不可持久化的。此列表可能会随着持续开发而更改。

audit_log_current_session
audit_log_filter_id
caching_sha2_password_digest_rounds
character_set_system
core_file
have_statement_timeout
have_symlink
hostname
innodb_version
keyring_hashicorp_auth_path
keyring_hashicorp_ca_path
keyring_hashicorp_caching
keyring_hashicorp_commit_auth_path
keyring_hashicorp_commit_ca_path
keyring_hashicorp_commit_caching
keyring_hashicorp_commit_role_id
keyring_hashicorp_commit_server_url
keyring_hashicorp_commit_store_path
keyring_hashicorp_role_id
keyring_hashicorp_secret_id
keyring_hashicorp_server_url
keyring_hashicorp_store_path
large_files_support
large_page_size
license
locked_in_memory
log_bin
log_bin_basename
log_bin_index
lower_case_file_system
ndb_version
ndb_version_string
persist_only_admin_x509_subject
persisted_globals_load
protocol_version
relay_log_basename
relay_log_index
server_uuid
skip_external_locking
system_time_zone
version_comment
version_compile_machine
version_compile_os
version_compile_zlib

受限制的持久化系统变量是那些只读的变量,可以在命令行或选项文件中设置,除了persist_only_admin_x509_subjectpersisted_globals_load之外。此列表可能会随着持续开发而更改。

audit_log_file
audit_log_format
auto_generate_certs
basedir
bind_address
caching_sha2_password_auto_generate_rsa_keys
caching_sha2_password_private_key_path
caching_sha2_password_public_key_path
character_sets_dir
daemon_memcached_engine_lib_name
daemon_memcached_engine_lib_path
daemon_memcached_option
datadir
default_authentication_plugin
ft_stopword_file
init_file
innodb_buffer_pool_load_at_startup
innodb_data_file_path
innodb_data_home_dir
innodb_dedicated_server
innodb_directories
innodb_force_load_corrupted
innodb_log_group_home_dir
innodb_page_size
innodb_read_only
innodb_temp_data_file_path
innodb_temp_tablespaces_dir
innodb_undo_directory
innodb_undo_tablespaces
keyring_encrypted_file_data
keyring_encrypted_file_password
lc_messages_dir
log_error
mecab_rc_file
named_pipe
pid_file
plugin_dir
port
relay_log
relay_log_info_file
replica_load_tmpdir
secure_file_priv
sha256_password_auto_generate_rsa_keys
sha256_password_private_key_path
sha256_password_public_key_path
shared_memory
shared_memory_base_name
skip_networking
slave_load_tmpdir
socket
ssl_ca
ssl_capath
ssl_cert
ssl_crl
ssl_crlpath
ssl_key
tmpdir
version_tokens_session_number

要配置服务器以启用持久化受限制的系统变量,请使用以下步骤:

  1. 确保 MySQL 配置支持加密连接。参见第 8.3.1 节,“配置 MySQL 使用加密连接”。

  2. 指定一个 SSL 证书 X.509 主题值,表示能够持久化受限制的系统变量,并生成具有该主题的证书。参见第 8.3.3 节,“创建 SSL 和 RSA 证书和密钥”。

  3. 启动服务器时,将persist_only_admin_x509_subject设置为指定的主题值。例如,在服务器的my.cnf文件中添加以下行:

    [mysqld]
    persist_only_admin_x509_subject="*subject-value*"
    

    主题值的格式与用于CREATE USER ... REQUIRE SUBJECT相同。参见第 15.7.1.3 节,“CREATE USER Statement”。

    您必须直接在 MySQL 服务器主机上执行此步骤,因为persist_only_admin_x509_subject本身无法在运行时持久化。

  4. 重新启动服务器。

  5. 将具有指定主题值的 SSL 证书分发给被允许持久化受限制系统变量的用户。

假设myclient-cert.pem是要供客户端使用的 SSL 证书,该证书可以持久化受限制的系统变量。使用openssl命令显示证书内容:

$> openssl x509 -text -in myclient-cert.pem
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 2 (0x2)
    Signature Algorithm: md5WithRSAEncryption
        Issuer: C=US, ST=IL, L=Chicago, O=MyOrg, OU=CA, CN=MyCN
        Validity
            Not Before: Oct 18 17:03:03 2018 GMT
            Not After : Oct 15 17:03:03 2028 GMT
        Subject: C=US, ST=IL, L=Chicago, O=MyOrg, OU=client, CN=MyCN
...

openssl输出显示证书主题值为:

C=US, ST=IL, L=Chicago, O=MyOrg, OU=client, CN=MyCN

要为 MySQL 指定主题,使用以下格式:

/C=US/ST=IL/L=Chicago/O=MyOrg/OU=client/CN=MyCN

在服务器的my.cnf文件中配置主题值:

[mysqld]
persist_only_admin_x509_subject="/C=US/ST=IL/L=Chicago/O=MyOrg/OU=client/CN=MyCN"

重新启动服务器以使新配置生效。

将 SSL 证书(以及任何其他相关 SSL 文件)分发给适当的用户。然后,此用户使用证书和建立加密连接所需的任何其他 SSL 选项连接到服务器。

要使用 X.509,客户端必须指定--ssl-key--ssl-cert选项进行连接。建议但不是必须还指定--ssl-ca,以便验证服务器提供的公共证书。例如:

$> mysql --ssl-key=myclient-key.pem --ssl-cert=myclient-cert.pem --ssl-ca=mycacert.pem

假设用户具有足够的特权来使用SET PERSIST_ONLY,则可以像这样持久化受限制的系统变量:

mysql> SET PERSIST_ONLY socket = '/tmp/mysql.sock';
Query OK, 0 rows affected (0.00 sec)

如果服务器未配置为启用持久化受限制系统变量,或用户不满足该功能所需的条件,则会发生错误:

mysql> SET PERSIST_ONLY socket = '/tmp/mysql.sock';
ERROR 1238 (HY000): Variable 'socket' is a non persistent read only variable

原文:dev.mysql.com/doc/refman/8.0/en/structured-system-variables.html

7.1.9.5 结构化系统变量

结构化变量在两个方面与常规系统变量不同:

  • 其值是一个具有指定为密切相关的服务器参数的组件的结构。

  • 可能会有几个给定类型的结构化变量实例。每个实例都有一个不同的名称,并引用服务器维护的不同资源。

MySQL 支持一种结构化变量类型,用于指定管理关键缓存操作的参数。关键缓存结构化变量具有以下组件:

  • key_buffer_size

  • key_cache_block_size

  • key_cache_division_limit

  • key_cache_age_threshold

本节描述了引用结构化变量的语法。关键缓存变量用于语法示例,但关于关键缓存如何运作的具体细节可以在其他地方找到,在第 10.10.2 节,“MyISAM 关键缓存”中。

要引用结构化变量实例的组件,可以使用*instance_name.component_name*格式的复合名称。例如:

hot_cache.key_buffer_size
hot_cache.key_cache_block_size
cold_cache.key_cache_block_size

对于每个结构化系统变量,名称为default的实例始终预定义。如果您引用结构化变量的组件而没有任何实例名称,则使用default实例。因此,default.key_buffer_sizekey_buffer_size都引用同一系统变量。

结构化变量实例和组件遵循以下命名规则:

  • 对于给定类型的结构化变量,每个实例的名称必须在该类型的变量中是唯一的。但是,实例名称在结构化变量类型之间不需要是唯一的。例如,每个结构化变量都有一个名为default的实例,因此default在变量类型之间不是唯一的。

  • 每种结构化变量类型的组件名称必须在所有系统变量名称中是唯一的。如果不是这样(也就是说,如果两种不同类型的结构化变量可以共享组件成员名称),那么对于未由实例名称限定的成员名称的引用将不清楚使用哪个默认结构化变量。

  • 如果结构化变量实例名称作为未引用的标识符不合法,则使用反引号引用它作为引用标识符。例如,hot-cache不合法,但hot-cache是。

  • globalsessionlocal不是合法的实例名称。这避免了与诸如@@GLOBAL.*var_name*之类的表示非结构化系统变量的符号发生冲突。

目前,前两条规则不可能被违反,因为唯一的结构化变量类型是键缓存类型。如果将来创建其他类型的结构化变量,则这些规则可能变得更加重要。

除了一个例外情况外,在任何简单变量名可以出现的上下文中,您都可以使用复合名称引用结构化变量组件。例如,您可以使用命令行选项为结构化变量赋值:

$> mysqld --hot_cache.key_buffer_size=64K

在选项文件中,请使用以下语法:

[mysqld]
hot_cache.key_buffer_size=64K

如果您使用此选项启动服务器,则会创建一个名为hot_cache的键缓存,大小为 64KB,另外还会创建一个默认大小为 8MB 的默认键缓存。

假设您以以下方式启动服务器:

$> mysqld --key_buffer_size=256K \
         --extra_cache.key_buffer_size=128K \
         --extra_cache.key_cache_block_size=2048

在这种情况下,服务器将默认键缓存的大小设置为 256KB。(您也可以编写--default.key_buffer_size=256K。)此外,服务器还会创建一个名为extra_cache的第二个键缓存,其大小为 128KB,用于缓存表索引块的块缓冲区大小设置为 2048 字节。

以下示例启动具有 3:1:1 比例大小的三个不同键缓存的服务器:

$> mysqld --key_buffer_size=6M \
         --hot_cache.key_buffer_size=2M \
         --cold_cache.key_buffer_size=2M

结构化变量值也可以在运行时设置和检索。例如,要将名为hot_cache的键缓存设置为 10MB 的大小,请使用以下任一语句:

mysql> SET GLOBAL hot_cache.key_buffer_size = 10*1024*1024;
mysql> SET @@GLOBAL.hot_cache.key_buffer_size = 10*1024*1024;

要检索缓存大小,请执行以下操作:

mysql> SELECT @@GLOBAL.hot_cache.key_buffer_size;

但是,以下语句不起作用。该变量不被解释为复合名称,而是被解释为用于LIKE模式匹配操作的简单字符串:

mysql> SHOW GLOBAL VARIABLES LIKE 'hot_cache.key_buffer_size';

这是能够在简单变量名出现的任何地方使用结构化变量名的例外情况。

7.1.10 服务器状态变量

原文:dev.mysql.com/doc/refman/8.0/en/server-status-variables.html

MySQL 服务器维护许多状态变量,提供有关其操作的信息。您可以通过使用SHOW [GLOBAL | SESSION] STATUS语句(参见第 15.7.7.37 节,“SHOW STATUS 语句”)查看这些变量及其值。可选的GLOBAL关键字聚合所有连接的值,SESSION显示当前连接的值。

mysql> SHOW GLOBAL STATUS;
+-----------------------------------+------------+
| Variable_name                     | Value      |
+-----------------------------------+------------+
| Aborted_clients                   | 0          |
| Aborted_connects                  | 0          |
| Bytes_received                    | 155372598  |
| Bytes_sent                        | 1176560426 |
...
| Connections                       | 30023      |
| Created_tmp_disk_tables           | 0          |
| Created_tmp_files                 | 3          |
| Created_tmp_tables                | 2          |
...
| Threads_created                   | 217        |
| Threads_running                   | 88         |
| Uptime                            | 1389872    |
+-----------------------------------+------------+

许多状态变量通过FLUSH STATUS语句重置为 0。

本节提供了每个状态变量的描述。有关状态变量摘要,请参见第 7.1.6 节,“服务器状态变量参考”。有关特定于 NDB 集群的状态变量信息,请参见第 25.4.3.9.3 节,“NDB 集群状态变量”。

状态变量具有以下含义。

  • Aborted_clients

    连接由于客户端异常关闭连接而中止的次数。请参见第 B.3.2.9 节,“通信错误和中止连接”。

  • Aborted_connects

    尝试连接到 MySQL 服务器失败的次数。请参见第 B.3.2.9 节,“通信错误和中止连接”。

    要获取更多与连接相关的信息,请查看Connection_errors_*xxx*状态变量和host_cache表。

  • Authentication_ldap_sasl_supported_methods

    实现 SASL LDAP 身份验证的authentication_ldap_sasl插件支持多种身份验证方法,但根据主机系统配置的不同,它们可能并非全部可用。Authentication_ldap_sasl_supported_methods变量提供了支持的方法的可发现性。其值是由支持的方法名称以空格分隔的字符串。例如:“SCRAM-SHA 1 SCRAM-SHA-256 GSSAPI”

    此变量已添加到 MySQL 8.0.21 中。

  • Binlog_cache_disk_use

    使用临时二进制日志缓存的事务数量,但超过了binlog_cache_size的值,并使用临时文件存储事务中的语句。

    导致二进制日志事务缓存写入磁盘的非事务语句的数量在Binlog_stmt_cache_disk_use状态变量中单独跟踪。

  • Acl_cache_items_count

    缓存的权限对象数量。每个对象是用户及其活动角色的权限组合。

  • Binlog_cache_use

    使用二进制日志缓存的事务数量。

  • Binlog_stmt_cache_disk_use

    使用二进制日志语句缓存的非事务语句的数量,但超过了binlog_stmt_cache_size的值,并使用临时文件存储这些语句。

  • Binlog_stmt_cache_use

    使用二进制日志语句缓存的非事务语句的数量。

  • Bytes_received

    从所有客户端接收的字节数。

  • Bytes_sent

    发送给所有客户端的字节数。

  • Caching_sha2_password_rsa_public_key

    caching_sha2_password身份验证插件用于 RSA 密钥对密码交换的公钥。仅当服务器成功初始化由caching_sha2_password_private_key_pathcaching_sha2_password_public_key_path系统变量命名的文件中的私钥和公钥时,该值才不为空。Caching_sha2_password_rsa_public_key的值来自后者的文件。

  • Com_*xxx*

    Com_*xxx*语句计数变量指示每个*xxx*语句已执行的次数。每种类型的语句都有一个状态变量。例如,Com_deleteCom_update分别计算DELETEUPDATE语句的次数。Com_delete_multiCom_update_multi类似,但适用于使用多表语法的DELETEUPDATE语句。

    所有Com_stmt_*xxx*变量都会增加,即使准备语句参数未知或在执行过程中发生错误。换句话说,它们的值对应于发出的请求次数,而不是成功完成的请求次数。例如,因为状态变量在每次服务器启动时都会初始化,并且不会在重新启动时保留,跟踪RESTARTSHUTDOWN语句的Com_restartCom_shutdown变量通常值为零,但如果执行了但失败了RESTARTSHUTDOWN语句,则可以为非零。

    Com_stmt_*xxx*状态变量如下:

    • Com_stmt_prepare

    • Com_stmt_execute

    • Com_stmt_fetch

    • Com_stmt_send_long_data

    • Com_stmt_reset

    • Com_stmt_close

    这些变量代表准备语句命令。它们的名称指的是在网络层中使用的COM_*xxx*命令集。换句话说,每当执行准备语句 API 调用,如mysql_stmt_prepare()、**mysql_stmt_execute()**等时,它们的值会增加。然而,Com_stmt_prepareCom_stmt_executeCom_stmt_close也会分别增加PREPAREEXECUTEDEALLOCATE PREPARE。此外,旧的语句计数变量Com_prepare_sqlCom_execute_sqlCom_dealloc_sql的值也会增加PREPAREEXECUTEDEALLOCATE PREPARE语句。Com_stmt_fetch代表从游标中获取时发出的网络往返总数。

    Com_stmt_reprepare 表示服务器自动重新准备语句的次数,例如,在语句引用的表或视图的元数据更改后。重新准备操作会增加Com_stmt_reprepare,也会增加Com_stmt_prepare

    Com_explain_other 表示执行的EXPLAIN FOR CONNECTION语句的数量。请参阅第 10.8.4 节,“获取命名连接的执行计划信息”。

    Com_change_repl_filter 表示执行的CHANGE REPLICATION FILTER语句的数量。

  • 压缩

    客户端连接是否在客户端/服务器协议中使用压缩。

    截至 MySQL 8.0.18,此状态变量已弃用;预计将在未来的 MySQL 版本中移除。请参阅 Configuring Legacy Connection Compression。

  • Compression_algorithm

    当前连接到服务器的压缩算法的名称。该值可以是protocol_compression_algorithms系统变量值中允许的任何算法。例如,如果连接不使用压缩,则值为uncompressed,如果连接使用zlib算法,则值为zlib

    欲了解更多信息,请参阅 Section 6.2.8, “Connection Compression Control”。

    该变量在 MySQL 8.0.18 中添加。

  • Compression_level

    当前连接到服务器的压缩级别。对于zlib连接,该值为 6(默认zlib算法压缩级别),对于zstd连接,该值为 1 到 22,对于uncompressed连接,该值为 0。

    欲了解更多信息,请参阅 Section 6.2.8, “Connection Compression Control”。

    该变量在 MySQL 8.0.18 中添加。

  • Connection_errors_*xxx*

    这些变量提供有关客户端连接过程中发生的错误的信息。它们仅为全局变量,代表来自所有主机的连接中聚合的错误计数。这些变量跟踪主机缓存未解决的错误(请参阅 Section 7.1.12.3, “DNS Lookups and the Host Cache”),例如与 TCP 连接无关的错误,在连接过程的早期阶段发生的错误(甚至在知道 IP 地址之前),或者不特定于任何特定 IP 地址的错误(例如内存不足条件)。

    • Connection_errors_accept

      在监听端口调用accept()时发生的错误次数。

    • Connection_errors_internal

      由于服务器内部错误(例如无法启动新线程或内存不足)而拒绝的连接数。

    • Connection_errors_max_connections

      由于达到服务器max_connections限制而拒绝的连接数。

    • Connection_errors_peer_address

      在搜索连接客户端 IP 地址时发生的错误数量。

    • Connection_errors_select

      在监听端口上调用select()poll()时发生的错误数量。(此操作的失败并不一定意味着客户端连接被拒绝。)

    • Connection_errors_tcpwrap

      libwrap库拒绝的连接数量。

  • Connections

    尝试连接到 MySQL 服务器的连接尝试次数(成功或不成功)。

  • Created_tmp_disk_tables

    服务器在执行语句时创建的内部磁盘临时表的数量。

    您可以通过比较Created_tmp_disk_tablesCreated_tmp_tables的值来比较创建的内部磁盘临时表的数量和创建的内部临时表的总数。

    注意

    由于已知限制,Created_tmp_disk_tables不计算在内存映射文件中创建的磁盘临时表。默认情况下,TempTable 存储引擎溢出机制在内存映射文件中创建内部临时表。此行为由temptable_use_mmap变量控制,默认情况下启用。

    另请参阅第 10.4.4 节,“MySQL 中的内部临时表使用”。

  • Created_tmp_files

    mysqld创建的临时文件数量。

  • Created_tmp_tables

    服务器在执行语句时创建的内部临时表的数量。

    您可以通过比较Created_tmp_disk_tablesCreated_tmp_tables的值来比较创建的内部磁盘临时表的数量和创建的内部临时表的总数。

    另请参阅第 10.4.4 节,“MySQL 中的内部临时表使用”。

    每次调用SHOW STATUS语句都会使用一个内部临时表,并增加全局Created_tmp_tables值。

  • Current_tls_ca

    服务器在新连接中使用的 SSL 上下文中的活动ssl_ca值。如果系统变量已更改但尚未执行ALTER INSTANCE RELOAD TLS以从与上下文相关的系统变量值重新配置 SSL 上下文并更新相应的状态变量,则此上下文值可能与当前ssl_ca系统变量值不同。(这些值之间的潜在差异适用于每个对应的上下文相关系统和状态变量对。请参阅用于加密连接的服务器端运行时配置和监控。)

    这个变量是在 MySQL 8.0.16 中添加的。

    截至 MySQL 8.0.21,Current_tls_*xxx*状态变量值也可以通过性能模式tls_channel_status表获得。请参阅第 29.12.21.9 节,“tls_channel_status 表”。

  • Current_tls_capath

    服务器在新连接中使用的 TLS 上下文中的活动ssl_capath值。关于此状态变量与其对应系统变量之间关系的说明,请参阅Current_tls_ca的描述。

    这个变量是在 MySQL 8.0.16 中添加的。

  • Current_tls_cert

    服务器在新连接中使用的 TLS 上下文中的活动ssl_cert值。关于此状态变量与其对应系统变量之间关系的说明,请参阅Current_tls_ca的描述。

    这个变量是在 MySQL 8.0.16 中添加的。

  • Current_tls_cipher

    服务器在新连接中使用的 TLS 上下文中的活动ssl_cipher值。关于此状态变量与其对应系统变量之间关系的说明,请参阅Current_tls_ca的描述。

    这个变量是在 MySQL 8.0.16 中添加的。

  • Current_tls_ciphersuites

    服务器在新连接中使用的 TLS 上下文中的活动tls_ciphersuites值。有关此状态变量与其对应系统变量之间关系的说明,请参阅Current_tls_ca的描述。

    该变量是在 MySQL 8.0.16 中添加的。

  • Current_tls_crl

    服务器在新连接中使用的 TLS 上下文中的活动ssl_crl值。有关此状态变量与其对应系统变量之间关系的说明,请参阅Current_tls_ca的描述。

    该变量是在 MySQL 8.0.16 中添加的。

    注意

    当重新加载 TLS 上下文时,OpenSSL 会在此过程中重新加载包含 CRL(证书吊销列表)的文件。如果 CRL 文件很大,服务器会分配一个大块内存(文件大小的十倍),在新实例加载时会加倍,而旧实例尚未释放。大量分配被释放后,进程驻留内存不会立即减少,因此如果你重复发出带有大型 CRL 文件的ALTER INSTANCE RELOAD TLS语句,进程驻留内存使用量可能会因此增长。

  • Current_tls_crlpath

    服务器在新连接中使用的 TLS 上下文中的活动ssl_crlpath值。有关此状态变量与其对应系统变量之间关系的说明,请参阅Current_tls_ca的描述。

    该变量是在 MySQL 8.0.16 中添加的。

  • Current_tls_key

    服务器在新连接中使用的 TLS 上下文中的活动ssl_key值。有关此状态变量与其对应系统变量之间关系的说明,请参阅Current_tls_ca的描述。

    该变量是在 MySQL 8.0.16 中添加的。

  • Current_tls_version

    服务器在新连接中使用的 TLS 上下文中的活动tls_version值。有关此状态变量与其对应系统变量之间关系的说明,请参阅Current_tls_ca的描述。

    该变量是在 MySQL 8.0.16 中添加的。

  • Delayed_errors

    此状态变量已被弃用(因为不支持DELAYED插入);预计在将来的版本中将其移除。

  • Delayed_insert_threads

    此状态变量已弃用(因为不支持 DELAYED 插入);预计将在将来的版本中删除。

  • Delayed_writes

    此状态变量已弃用(因为不支持 DELAYED 插入);预计将在将来的版本中删除。

  • dragnet.Status

    最近对 dragnet.log_error_filter_rules 系统变量的赋值结果,如果没有进行此类赋值,则为空。

    此变量是在 MySQL 8.0.12 中添加的。

  • Error_log_buffered_bytes

    当前在性能模式 error_log 表中使用的字节数。可能会出现值减少的情况,例如,如果新事件无法容纳,直到丢弃旧事件,但新事件比旧事件小。

    此变量是在 MySQL 8.0.22 中添加的。

  • Error_log_buffered_events

    当前在性能模式 error_log 表中存在的事件数量。与 Error_log_buffered_bytes ��似,可能会出现值减少的情况。

    此变量是在 MySQL 8.0.22 中添加的。

  • Error_log_expired_events

    从性能模式 error_log 表中丢弃的事件数量,以腾出空间供新事件使用。

    此变量是在 MySQL 8.0.22 中添加的。

  • Error_log_latest_write

    最后一次写入性能模式 error_log 表的时间。

    此变量是在 MySQL 8.0.22 中添加的。

  • Flush_commands

    服务器刷新表的次数,无论是因为用户执行了 FLUSH TABLES 语句还是由于内部服务器操作。也会通过接收 COM_REFRESH 数据包来增加。这与 Com_flush 相反,后者指示执行了多少次 FLUSH 语句,无论是 FLUSH TABLESFLUSH LOGS 等等。

  • Global_connection_memory

    所有用户连接到服务器的内存使用情况。系统线程或 MySQL 根帐户使用的内存包括在内,但这些线程或用户不会因内存使用而断开连接。除非启用了global_connection_memory_tracking(默认情况下为禁用),否则不会计算此内存。性能模式也必须启用。

    您可以通过设置connection_memory_chunk_size间接控制此变量更新的频率。

    Global_connection_memory状态变量是在 MySQL 8.0.28 中引入的。

  • Handler_commit

    内部COMMIT语句的次数。

  • Handler_delete

    从表中删除行的次数。

  • Handler_external_lock

    服务器为每次调用其external_lock()函数递增此变量,这通常发生在访问表实例的开始和结束时。存储引擎之间可能存在差异。例如,可以使用此变量来发现访问分区表的语句在锁定发生之前剪枝了多少分区:检查语句的计数器增加了多少,减去 2(表本身的 2 次调用),然后除以 2 以获取锁定的分区数。

  • Handler_mrr_init

    服务器使用存储引擎自己的多范围读取实现进行表访问的次数。

  • Handler_prepare

    两阶段提交操作准备阶段的计数器。

  • Handler_read_first

    读取索引中第一个条目的次数。如果此值很高,则表明服务器正在执行大量完整索引扫描(例如,SELECT col1 FROM foo,假设col1已建立索引)。

  • Handler_read_key

    基于键读取行的请求数。如果此值很高,则表明您的表针对查询已正确建立索引。

  • Handler_read_last

    读取索引中最后一个键的请求数。使用ORDER BY时,服务器会发出第一个键的请求,然后是几个下一个键的请求,而使用ORDER BY DESC时,服务器会发出最后一个键的请求,然后是几个前一个键的请求。

  • Handler_read_next

    按键顺序读取下一行的请求数。如果您正在查询带有范围约束的索引列或正在执行索引扫描,则此值会增加。

  • Handler_read_prev

    按键顺序读取上一行的请求数。此读取方法主要用于优化ORDER BY ... DESC

  • Handler_read_rnd

    基于固定位置读取一行的请求数。如果您正在执行需要对结果进行排序的大量查询,则此值会很高。您可能有很多需要 MySQL 扫描整个表或连接未正确使用键的查询。

  • Handler_read_rnd_next

    读取数据文件中下一行的请求数。如果您正在执行大量表扫描,则此值会很高。通常这表明您的表没有正确索引,或者您的查询没有利用您拥有的索引。

  • Handler_rollback

    存储引擎执行回滚操作的请求数。

  • Handler_savepoint

    存储引擎放置保存点的请求数。

  • Handler_savepoint_rollback

    存储引擎回滚到保存点的请求数。

  • Handler_update

    更新表中一行的请求数。

  • Handler_write

    在表中插入一行的请求数。

  • Innodb_buffer_pool_dump_status

    记录在InnoDB 缓冲池中保存的页的操作进度,由innodb_buffer_pool_dump_at_shutdowninnodb_buffer_pool_dump_now的设置触发。

    有关相关信息和示例,请参见第 17.8.3.6 节,“保存和恢复缓冲池状态”。

  • Innodb_buffer_pool_load_status

    通过读取与较早时间点对应的一组页来预热 InnoDB 缓冲池的操作进度,由innodb_buffer_pool_load_at_startupinnodb_buffer_pool_load_now的设置触发。如果该操作引入了太多开销,您可以通过设置innodb_buffer_pool_load_abort来取消它。

    有关相关信息和示例,请参见第 17.8.3.6 节,“保存和恢复缓冲池状态”。

  • Innodb_buffer_pool_bytes_data

    包含数据的InnoDB 缓冲池中的总字节数。该数字包括脏和干净页。当压缩表导致缓冲池持有不同大小的页时,比Innodb_buffer_pool_pages_data更准确的内存使用量计算。

  • Innodb_buffer_pool_pages_data

    包含数据的InnoDB 缓冲池中的页数量。该数字包括脏和干净页。使用压缩表时,报告的Innodb_buffer_pool_pages_data值可能大于Innodb_buffer_pool_pages_total(Bug #59550)。

  • Innodb_buffer_pool_bytes_dirty

    当压缩表导致缓冲池持有不同大小的页时,InnoDB 缓冲池中脏页所持有的总字节数。比Innodb_buffer_pool_pages_dirty更准确的内存使用量计算。

  • Innodb_buffer_pool_pages_dirty

    当前在InnoDB 缓冲池中的脏页数量。

  • Innodb_buffer_pool_pages_flushed

    请求从InnoDB 缓冲池中刷新页的次数。

  • Innodb_buffer_pool_pages_free

    InnoDB 缓冲池中空闲页的数量。

  • Innodb_buffer_pool_pages_latched

    InnoDB 缓冲池中被锁定的页的数量。这些页当前正在被读取或写入,或者由于某种原因无法刷新或移除。由于计算这个变量的成本很高,因此只有在服务器构建时定义了UNIV_DEBUG系统时才可用。

  • Innodb_buffer_pool_pages_misc

    InnoDB 缓冲池中因已分配用于行锁或自适应哈希索引等管理开销而繁忙的页的数量。此值也可以计算为Innodb_buffer_pool_pages_totalInnodb_buffer_pool_pages_freeInnodb_buffer_pool_pages_data。在使用压缩表时,Innodb_buffer_pool_pages_misc可能报告一个超出范围的值(Bug #59550)。

  • Innodb_buffer_pool_pages_total

    InnoDB 缓冲池的总大小,以页为单位。在使用压缩表时,报告的Innodb_buffer_pool_pages_data值可能大于Innodb_buffer_pool_pages_total(Bug #59550)

  • Innodb_buffer_pool_read_ahead

    由后台预读线程读入InnoDB 缓冲池的页面数量。

  • Innodb_buffer_pool_read_ahead_evicted

    由后台预读线程读入InnoDB 缓冲池的页面数量,随后被查询未访问而被驱逐的页面数量。

  • Innodb_buffer_pool_read_ahead_rnd

    InnoDB发起的“随机”预读次数。当查询以随机顺序扫描表的大部分内容时会发生这种情况。

  • Innodb_buffer_pool_read_requests

    逻辑读请求的数量。

  • Innodb_buffer_pool_reads

    InnoDB无法从缓冲池中满足的逻辑读数量,必须直接从磁盘读取。

  • Innodb_buffer_pool_resize_status

    调整InnoDB 缓冲池大小的操作状态是动态的,通过动态设置innodb_buffer_pool_size参数触发。innodb_buffer_pool_size参数是动态的,允许您在不重启服务器的情况下调整缓冲池大小。有关更多信息,请参见在线配置 InnoDB 缓冲池大小。

  • Innodb_buffer_pool_resize_status_code

    报告用于跟踪在线缓冲池调整操作的状态代码。每个状态代码代表调整操作中的一个阶段。状态代码包括:

    • 0: 没有正在进行的调整大小操作

    • 1: 开始调整大小

    • 2: 禁用 AHI(自适应哈希索引)

    • 3: 撤回块

    • 4: 获取全局锁

    • 5: 调整池

    • 6: 调整哈希

    • 7: 调整失败

    您可以将此状态变量与Innodb_buffer_pool_resize_status_progress结合使用,以跟踪调整操作每个阶段的进度。Innodb_buffer_pool_resize_status_progress变量报告一个百分比值,指示当前阶段的进度。

    更多信息,请参阅监控在线缓冲池调整进度。

  • Innodb_buffer_pool_resize_status_progress

    报告一个百分比值,指示在线缓冲池调整操作当前阶段的进度。此变量与Innodb_buffer_pool_resize_status_code一起使用,后者报告当前在线缓冲池调整操作阶段的状态代码。

    百分比值在每个缓冲池实例处理后更新。随着状态代码(由Innodb_buffer_pool_resize_status_code报告)从一个状态变为另一个状态,百分比值将重置为 0。

    有关相关信息,请参阅监控在线缓冲池调整进度。

  • Innodb_buffer_pool_wait_free

    通常,对InnoDB 缓冲池的写入是在后台进行的。当InnoDB需要读取或创建一个页且没有可用的干净页时,InnoDB首先刷新一些脏页并等待该操作完成。此计数器计算这些等待的实例。如果innodb_buffer_pool_size已经适当设置,这个值应该很小。

  • Innodb_buffer_pool_write_requests

    写入到InnoDB 缓冲池的次数。

  • Innodb_data_fsyncs

    到目前为止的fsync()操作次数。fsync()调用的频率受innodb_flush_method配置选项的设置影响。

    如果启用了innodb_use_fdatasync,则计算fdatasync()操作的次数。

  • Innodb_data_pending_fsyncs

    当前待处理的fsync()操作数量。fsync()调用的频率受innodb_flush_method配置选项的设置影响。

  • Innodb_data_pending_reads

    当前待处理读取的数量。

  • Innodb_data_pending_writes

    当前待处理写入次数。

  • Innodb_data_read

    服务器启动以来读取的数据量(以字节为单位)。

  • Innodb_data_reads

    总数据读取次数(操作系统文件读取)。

  • Innodb_data_writes

    总数据写入次数。

  • Innodb_data_written

    到目前为止写入的数据量,以字节为单位。

  • Innodb_dblwr_pages_written

    写入到双写缓冲区的页面数量。参见第 17.11.1 节,“InnoDB 磁盘 I/O”。

  • Innodb_dblwr_writes

    执行的双写操作次数。参见第 17.11.1 节,“InnoDB 磁盘 I/O”。

  • Innodb_have_atomic_builtins

    指示服务器是否使用原子指令构建。

  • Innodb_log_waits

    日志缓冲区太小,需要等待刷新才能继续的次数。

  • Innodb_log_write_requests

    InnoDB 重做日志 的写入请求次数。

  • Innodb_log_writes

    InnoDB 重做日志 文件的物理写入次数。

  • Innodb_num_open_files

    InnoDB当前打开的文件数量。

  • Innodb_os_log_fsyncs

    InnoDB 重做日志 文件执行的fsync()写入次数。

  • Innodb_os_log_pending_fsyncs

    InnoDB 重做日志 文件的待处理fsync()操作数量。

  • Innodb_os_log_pending_writes

    InnoDB 重做日志 文件的待写入次数。

  • Innodb_os_log_written

    写入到 InnoDB 重做日志 文件的字节数。

  • Innodb_page_size

    InnoDB 页面大小(默认为 16KB)。许多值以页面为单位计数;页面大小使它们可以轻松转换为字节。

  • Innodb_pages_created

    由对 InnoDB 表的操作创建的页面数。

  • Innodb_pages_read

    由于对 InnoDB 表的操作从 InnoDB 缓冲池中读取的页面数。

  • Innodb_pages_written

    由对 InnoDB 表的操作写入的页面数。

  • Innodb_redo_log_enabled

    重做日志记录是否已启用或��禁用。请参见 禁用重做日志。

    此变量在 MySQL 8.0.21 中添加。

  • Innodb_redo_log_capacity_resized

    所有重做日志文件的总重做日志容量(以字节为单位),在最后一次完成的容量调整操作之后。该值包括普通和备用重做日志文件。

    如果没有待处理的调整容量向下操作,Innodb_redo_log_capacity_resized 应等于 innodb_redo_log_capacity 设置。调整容量向上的操作是瞬时的。

    有关相关信息,请参见 Section 17.6.5, “重做日志”。

    此变量在 MySQL 8.0.30 中添加。

  • Innodb_redo_log_checkpoint_lsn

    重做日志检查点 LSN。有关相关信息,请参见 Section 17.6.5, “重做日志”。

    此变量在 MySQL 8.0.30 中添加。

  • Innodb_redo_log_current_lsn

    当前 LSN 表示重做日志缓冲区中的最后写入位置。InnoDB 在请求操作系统将数据写入当前重做日志文件之前,将数据写入 MySQL 进程内的重做日志缓冲区。有关相关信息,请参见 Section 17.6.5, “重做日志”。

    此变量在 MySQL 8.0.30 中添加。

  • Innodb_redo_log_flushed_to_disk_lsn

    刷新到磁盘的 LSN。InnoDB 首先将数据写入重做日志,然后请求操作系统将数据刷新到磁盘。刷新到磁盘的 LSN 表示 InnoDB 知道已刷新到磁盘的重做日志中的最后位置。有关相关信息,请参见 Section 17.6.5, “重做日志”。

    此变量是在 MySQL 8.0.30 中添加的。

  • Innodb_redo_log_logical_size

    数据大小值,以字节为单位,表示包含正在使用的重做日志数据的 LSN 范围,从重做日志消费者所需的最旧块到最新写入块。有关相关信息,请参见第 17.6.5 节,“重做日志”。

    此变量是在 MySQL 8.0.30 中添加的。

  • Innodb_redo_log_physical_size

    当前在磁盘上所有重做日志文件当前消耗的字节大小,不包括备用重做日志文件。有关相关信息,请参见第 17.6.5 节,“重做日志”。

    此变量是在 MySQL 8.0.30 中添加的。

  • Innodb_redo_log_read_only

    重做日志是否为只读。

    此变量是在 MySQL 8.0.30 中添加的。

  • Innodb_redo_log_resize_status

    重做日志调整大小状态指示重做日志容量调整机制的当前状态。可能的值包括:

    • OK:没有问题,也没有待处理的重做日志容量调整操作。

    • 正在调整大小向下:正在进行向下调整操作。

    向上调整操作是瞬时的,因此没有待处理状态。

    此变量是在 MySQL 8.0.30 中添加的。

  • Innodb_redo_log_uuid

    重做日志 UUID。

    此变量是在 MySQL 8.0.30 中添加的。

  • Innodb_row_lock_current_waits

    当前由InnoDB表上的操作等待的行锁的数量。

  • Innodb_row_lock_time

    获取InnoDB表的行锁所花费的总时间,单位为毫秒。

  • Innodb_row_lock_time_avg

    获取InnoDB表的行锁的平均时间,单位为毫秒。

  • Innodb_row_lock_time_max

    获取InnoDB表的行锁的最大时间,单位为毫秒。

  • Innodb_row_lock_waits

    InnoDB表上的操作必须等待行锁的次数。

  • Innodb_rows_deleted

    InnoDB表中删除的行数。

  • Innodb_rows_inserted

    插入到InnoDB表中的行数。

  • Innodb_rows_read

    InnoDB表中读取的行数。

  • Innodb_rows_updated

    InnoDB表中更新的估计行数。

    注意

    此值并非百分之百准确。要获得准确(但更昂贵)的结果,请使用ROW_COUNT()

  • Innodb_system_rows_deleted

    从系统创建的模式所属的InnoDB表中删除的行数。

  • Innodb_system_rows_inserted

    插入到系统创建的模式所属的InnoDB表中的行数。

  • Innodb_system_rows_read

    从系统创建的模式所属的InnoDB表中读取的行数。

  • Innodb_truncated_status_writes

    SHOW ENGINE INNODB STATUS语句的输出被截断的次数。

  • Innodb_undo_tablespaces_active

    活动撤销表空间的数量。包括隐式(由InnoDB创建)和显式(用户创建)的撤销表空间。有关撤销表空间的信息,请参见第 17.6.3.4 节,“撤销表空间”。

  • Innodb_undo_tablespaces_explicit

    用户创建的撤销表空间的数量。有关撤销表空间的信息,请参见第 17.6.3.4 节,“撤销表空间”。

  • Innodb_undo_tablespaces_implicit

    InnoDB创建的撤销表空间的数量。当初始化 MySQL 实例时,InnoDB会创建两个默认的撤销表空间。有关撤销表空间的信息,请参见第 17.6.3.4 节,“撤销表空间”。

  • Innodb_undo_tablespaces_total

    撤销表空间的总数。包括隐式(由InnoDB创建)和显式(用户创建)的撤销表空间,活动和非活动的。有关撤销表空间的信息,请参见第 17.6.3.4 节,“撤销表空间”。

  • Key_blocks_not_flushed

    MyISAM键缓存中已更改但尚未刷新到磁盘的关键块数。

  • Key_blocks_unused

    MyISAM键缓存中未使用的块数。您可以使用此值来确定键缓存的使用情况;请参阅第 7.1.8 节,“服务器系统变量”中对key_buffer_size的讨论。

  • Key_blocks_used

    MyISAM键缓存中使用的块数。此值是一个高水位标记,表示曾经同时使用的最大块数。

  • Key_read_requests

    请求从MyISAM键缓存中读取键块的次数。

  • Key_reads

    从磁盘读取键块到MyISAM键缓存的物理读取次数。如果Key_reads很大,则您的key_buffer_size值可能太小。缓存未命中率可以计算为Key_reads/Key_read_requests

  • Key_write_requests

    请求将键块写入MyISAM键缓存的次数。

  • Key_writes

    MyISAM键缓存到磁盘的键块的物理写入次数。

  • Last_query_cost

    查询优化器计算的上一个编译查询的总成本。这对于比较相同查询的不同查询计划的成本很有用。默认值为 0 表示尚未编译任何查询。默认值为 0。Last_query_cost具有会话范围。

    在 MySQL 8.0.16 及更高版本中,此变量显示具有多个查询块的查询的成本,总结每个查询块的成本估计,估计非可缓存子查询执行的次数,并将这些查询块的成本乘以子查询执行的次数。 (Bug #92766, Bug #28786951) 在 MySQL 8.0.16 之前,Last_query_cost仅对简单的“平面”查询进行准确计算,而不适用于包含子查询或UNION等复杂查询。 (对于后者,该值设置为 0。)

  • Last_query_partial_plans

    查询优化器在构建上一个查询的执行计划时所做的迭代次数。

    Last_query_partial_plans具有会话范围。

  • Locked_connects

    尝试连接被锁定用户账户的次数。有关账户锁定和解锁的信息,请参见第 8.2.20 节,“账户锁定”。

  • Max_execution_time_exceeded

    执行超时时间已超过的SELECT语句数量。

  • Max_execution_time_set

    设置了非零执行超时时间的SELECT语句数量。这包括包含非零MAX_EXECUTION_TIME优化提示的语句,以及不包含此类提示但在max_execution_time系统变量指示的超时时间非零时执行的语句。

  • Max_execution_time_set_failed

    尝试设置执行超时失败的SELECT语句数量。

  • Max_used_connections

    服务器启动以来同时使用的最大连接数。

  • Max_used_connections_time

    达到当前值时的Max_used_connections时间。

  • Not_flushed_delayed_rows

    此状态变量已弃用(因为不支持DELAYED插入);预计在将来的版本中将其移除。

  • mecab_charset

    当前由 MeCab 全文本解析器插件使用的字符集。有关相关信息,请参见第 14.9.9 节,“MeCab 全文本解析器插件”。

  • Ongoing_anonymous_transaction_count

    显示已标记为匿名的进行中事务数量。这可用于确保没有进一步的事务等待处理。

  • Ongoing_anonymous_gtid_violating_transaction_count

    此状态变量仅在调试构建中可用。显示使用gtid_next=ANONYMOUS并违反 GTID 一致性的进行中事务数量。

  • Ongoing_automatic_gtid_violating_transaction_count

    此状态变量仅在调试构建中可用。显示正在使用gtid_next=AUTOMATIC并违反 GTID 一致性的进行中事务的数量。

  • Open_files

    已打开的文件数量。此计数包括服务器打开的常规文件。它不包括其他类型的文件,如套接字或管道。此计数还不包括存储引擎使用其自己的内部函数而不是请求服务器级别执行的文件。

  • Open_streams

    已打开的流数量(主要用于日志记录)。

  • Open_table_definitions

    已缓存的表定义数量。

  • Open_tables

    已打开的表数量。

  • Opened_files

    已使用my_open()(一个mysys库函数)打开的文件数量。服务器的部分打开文件而不使用此函数的部分不会增加计数。

  • Opened_table_definitions

    已缓存的表定义数量。

  • Opened_tables

    已打开的表数量。如果Opened_tables很大,则您的table_open_cache值可能太小。

  • Performance_schema_*xxx*

    第 29.16 节,“性能模式状态变量”中列出了性能模式状态变量。这些变量提供了关于由于内存限制而无法加载或创建的仪器信息。

  • Prepared_stmt_count

    当前准备语句的数量。(最大语句数由max_prepared_stmt_count系统变量给出。)

  • Queries

    服务器执行的语句数量。此变量包括存储程序内执行的语句,不同于Questions变量。它不计算COM_PINGCOM_STATISTICS命令。

    本节开头的讨论说明了如何将此语句计数状态变量与其他类似变量相关联。

  • Questions

    服务器执行的语句数量。这仅包括由客户端发送到服务器的语句,不包括存储程序内执行的语句,与Queries变量不同。此变量不计算COM_PINGCOM_STATISTICSCOM_STMT_PREPARECOM_STMT_CLOSECOM_STMT_RESET命令。

    本节开头的讨论说明了如何将此语句计数状态变量与其他类似变量相关联。

  • Replica_open_temp_tables

    从 MySQL 8.0.26 开始,使用Replica_open_temp_tables代替Slave_open_temp_tables,后者从该版本开始已被弃用。在 MySQL 8.0.26 之前的版本中,请使用Slave_open_temp_tables

    Replica_open_temp_tables显示了复制 SQL 线程当前打开的临时表的数量。如果值大于零,则关闭复制品是不安全的;请参阅第 19.5.1.31 节,“复制和临时表”。此变量报告了所有复制通道的打开临时表的总数。

  • Replica_rows_last_search_algorithm_used

    从 MySQL 8.0.26 开始,使用Replica_rows_last_search_algorithm_used代替Slave_rows_last_search_algorithm_used,后者从该版本开始已被弃用。在 MySQL 8.0.26 之前的版本中,请使用Slave_rows_last_search_algorithm_used

    Replica_rows_last_search_algorithm_used显示了此复制品最近用于定位行的搜索算法。结果显示了复制品在任何通道上执行的最后一个事务中使用的搜索算法是使用索引、表扫描还是哈希。

    使用的方法取决于slave_rows_search_algorithms系统变量的设置(现已弃用),以及相关表上可用的键。

    此变量仅适用于 MySQL 的调试版本。

  • Resource_group_supported

    指示资源组功能是否受支持。

    在某些平台或 MySQL 服务器配置中,资源组可能不可用或存在限制。特别是,Linux 系统可能需要一些安装方法的手动步骤。有关详细信息,请参阅资源组限制。

  • Rpl_semi_sync_master_clients

    半同步副本的数量。

    当在副本上安装了rpl_semi_sync_mastersemisync_master.so库)插件以设置半同步复制时,Rpl_semi_sync_master_clients可用。如果安装了rpl_semi_sync_source插件(semisync_source.so库),则可用Rpl_semi_sync_source_clients

  • Rpl_semi_sync_master_net_avg_wait_time

    源等待复制回复的平均时间(以微秒为单位)。这个变量始终为0,已被弃用;预计将在将来的版本中移除。

    当在副本上安装了rpl_semi_sync_mastersemisync_master.so库)插件以设置半同步复制时,Rpl_semi_sync_master_net_avg_wait_time可用。如果安装了rpl_semi_sync_source插件(semisync_source.so库),则可用Rpl_semi_sync_source_net_avg_wait_time

  • Rpl_semi_sync_master_net_wait_time

    源等待复制回复的总时间(以微秒为单位)。这个变量始终为0,已被弃用;预计将在将来的版本中移除。

    当在副本上安装了rpl_semi_sync_mastersemisync_master.so库)插件以设置半同步复制时,Rpl_semi_sync_master_net_wait_time可用。如果安装了rpl_semi_sync_source插件(semisync_source.so库),则可用Rpl_semi_sync_source_net_wait_time

  • Rpl_semi_sync_master_net_waits

    源等待复制回复的总次数。

    当在副本上安装了rpl_semi_sync_mastersemisync_master.so库)插件以建立半同步复制时,Rpl_semi_sync_master_net_waits可用。如果安装了rpl_semi_sync_source插件(semisync_source.so库),则可用Rpl_semi_sync_source_net_waits

  • Rpl_semi_sync_master_no_times

    源头关闭半同步复制的次数。

    当在副本上安装了rpl_semi_sync_mastersemisync_master.so库)插件以建立半同步复制时,Rpl_semi_sync_master_no_times可用。如果安装了rpl_semi_sync_source插件(semisync_source.so库),则可用Rpl_semi_sync_source_no_times

  • Rpl_semi_sync_master_no_tx

    未被副本成功确认的提交次数。

    当在副本上安装了rpl_semi_sync_mastersemisync_master.so库)插件以建立半同步复制时,Rpl_semi_sync_master_no_tx可用。如果安装了rpl_semi_sync_source插件(semisync_source.so库),则可用Rpl_semi_sync_source_no_tx

  • Rpl_semi_sync_master_status

    源头当前是否在运行半同步复制。如果插件已启用并发生了提交确认,则值为ON。如果插件未启用或源头由于提交确认超时而回退到异步复制,则值为OFF

    当在副本上安装了rpl_semi_sync_mastersemisync_master.so库)插件以建立半同步复制时,Rpl_semi_sync_master_status可用。如果安装了rpl_semi_sync_source插件(semisync_source.so库),则可用Rpl_semi_sync_source_status

  • Rpl_semi_sync_master_timefunc_failures

    源头在调用gettimeofday()等时间函数时失败的次数。

    Rpl_semi_sync_master_timefunc_failures 在副本上安装了rpl_semi_sync_mastersemisync_master.so库)插件以设置半同步复制时可用。如果安装了rpl_semi_sync_source插件(semisync_source.so库),则可用Rpl_semi_sync_source_timefunc_failures

  • Rpl_semi_sync_master_tx_avg_wait_time

    源等待每个事务的平均时间(以微秒为单位)。

    Rpl_semi_sync_master_tx_avg_wait_time 在副本上安装了rpl_semi_sync_mastersemisync_master.so库)插件以设置半同步复制时可用。如果安装了rpl_semi_sync_source插件(semisync_source.so库),则可用Rpl_semi_sync_source_tx_avg_wait_time

  • Rpl_semi_sync_master_tx_wait_time

    源等待事务的总时间(以微秒为单位)。

    Rpl_semi_sync_master_tx_wait_time 在副本上安装了rpl_semi_sync_mastersemisync_master.so库)插件以设置半同步复制时可用。如果安装了rpl_semi_sync_source插件(semisync_source.so库),则可用Rpl_semi_sync_source_tx_wait_time

  • Rpl_semi_sync_master_tx_waits

    源等待事务的总次数。

    Rpl_semi_sync_master_tx_waits 在副本上安装了rpl_semi_sync_mastersemisync_master.so库)插件以设置半同步复制时可用。如果安装了rpl_semi_sync_source插件(semisync_source.so库),则可用Rpl_semi_sync_source_tx_waits

  • Rpl_semi_sync_master_wait_pos_backtraverse

    源等待事件的总次数,其二进制坐标低于先前等待的事件。当事务开始等待回复的顺序与它们的二进制日志事件写入顺序不同时,可能会发生这种情况。

    当在副本端安装了rpl_semi_sync_mastersemisync_master.so库)插件以设置半同步复制时,Rpl_semi_sync_master_wait_pos_backtraverse可用。如果安装了rpl_semi_sync_source插件(semisync_source.so库),则可用Rpl_semi_sync_source_wait_pos_backtraverse

  • Rpl_semi_sync_master_wait_sessions

    当前等待副本回复的会话数量。

    当在副本端安装了rpl_semi_sync_mastersemisync_master.so库)插件以设置半同步复制时,Rpl_semi_sync_master_wait_sessions可用。如果安装了rpl_semi_sync_source插件(semisync_source.so库),则可用Rpl_semi_sync_source_wait_sessions

  • Rpl_semi_sync_master_yes_tx

    已被副本成功确认的提交数量。

    当在副本端安装了rpl_semi_sync_mastersemisync_master.so库)插件以设置半同步复制时,Rpl_semi_sync_master_yes_tx可用。如果安装了rpl_semi_sync_source插件(semisync_source.so库),则可用Rpl_semi_sync_source_yes_tx

  • Rpl_semi_sync_source_clients

    半同步副本的数量。

    当在源端安装了rpl_semi_sync_sourcesemisync_source.so库)插件以设置半同步复制时,Rpl_semi_sync_source_clients可用。如果安装了rpl_semi_sync_master插件(semisync_master.so库),则可用Rpl_semi_sync_master_clients

  • Rpl_semi_sync_source_net_avg_wait_time

    源端等待副本回复的平均时间(以微秒为单位)。此变量始终为0,已被弃用;预计将在将来的版本中移除。

    当在源端安装了rpl_semi_sync_sourcesemisync_source.so库)插件以设置半同步复制时,可以使用Rpl_semi_sync_source_net_avg_wait_time。如果安装了rpl_semi_sync_master插件(semisync_master.so库),则可以使用Rpl_semi_sync_master_net_avg_wait_time

  • Rpl_semi_sync_source_net_wait_time

    源端等待副本回复的总时间(以微秒为单位)。此变量始终为0,已被弃用;预计将在将来的版本中移除。

    当在源端安装了rpl_semi_sync_sourcesemisync_source.so库)插件以设置半同步复制时,可以使用Rpl_semi_sync_source_net_wait_time。如果安装了rpl_semi_sync_master插件(semisync_master.so库),则可以使用Rpl_semi_sync_master_net_wait_time

  • Rpl_semi_sync_source_net_waits

    源端等待副本回复的总次数。

    当在源端安装了rpl_semi_sync_sourcesemisync_source.so库)插件以设置半同步复制时,可以使用Rpl_semi_sync_source_net_waits。如果安装了rpl_semi_sync_master插件(semisync_master.so库),则可以使用Rpl_semi_sync_master_net_waits

  • Rpl_semi_sync_source_no_times

    源端关闭半同步复制的次数。

    当在源端安装了rpl_semi_sync_sourcesemisync_source.so库)插件以设置半同步复制时,可以使用Rpl_semi_sync_source_no_times。如果安装了rpl_semi_sync_master插件(semisync_master.so库),则可以使用Rpl_semi_sync_master_no_times

  • Rpl_semi_sync_source_no_tx

    未被副本成功确认的提交次数。

    Rpl_semi_sync_source_no_tx 是在源端安装了rpl_semi_sync_sourcesemisync_source.so库)插件以设置半同步复制时可用的。如果安装了rpl_semi_sync_master插件(semisync_master.so库),则会使用Rpl_semi_sync_master_no_tx

  • Rpl_semi_sync_source_status

    源端当前是否正在运行半同步复制。如果插件已启用并发生了提交确认,则值为ON。如果插件未启用或源端由于提交确认超时而回退到异步复制,则值为OFF

    Rpl_semi_sync_source_status 是在源端安装了rpl_semi_sync_sourcesemisync_source.so库)插件以设置半同步复制时可用的。如果安装了rpl_semi_sync_master插件(semisync_master.so库),则会使用Rpl_semi_sync_master_status

  • Rpl_semi_sync_source_timefunc_failures

    源端调用诸如gettimeofday()等时间函数失败的次数。

    Rpl_semi_sync_source_timefunc_failures 是在源端安装了rpl_semi_sync_sourcesemisync_source.so库)插件以设置半同步复制时可用的。如果安装了rpl_semi_sync_master插件(semisync_master.so库),则会使用Rpl_semi_sync_master_timefunc_failures

  • Rpl_semi_sync_source_tx_avg_wait_time

    源端等待每个事务的平均时间(以微秒为单位)。

    Rpl_semi_sync_source_tx_avg_wait_time 是在源端安装了rpl_semi_sync_sourcesemisync_source.so库)插件以设置半同步复制时可用的。如果安装了rpl_semi_sync_master插件(semisync_master.so库),则会使用Rpl_semi_sync_master_tx_avg_wait_time

  • Rpl_semi_sync_source_tx_wait_time

    源端等待事务的总时间(以微秒为单位)。

    当在源端安装了rpl_semi_sync_sourcesemisync_source.so库)插件以设置半同步复制时,就会出现Rpl_semi_sync_source_tx_wait_time。如果安装了rpl_semi_sync_master插件(semisync_master.so库),则会出现Rpl_semi_sync_master_tx_wait_time

  • Rpl_semi_sync_source_tx_waits

    源端等待事务的总次数。

    当在源端安装了rpl_semi_sync_sourcesemisync_source.so库)插件以设置半同步复制时,就会出现Rpl_semi_sync_source_tx_waits。如果安装了rpl_semi_sync_master插件(semisync_master.so库),则会出现Rpl_semi_sync_master_tx_waits

  • Rpl_semi_sync_source_wait_pos_backtraverse

    源端等待具有比先前等待的事件更低的二进制坐标的事件的总次数。当事务开始等待回复的顺序与它们的二进制日志事件写入的顺序不同时,就会发生这种情况。

    Rpl_semi_sync_source_wait_pos_backtraverse是在源端安装了rpl_semi_sync_sourcesemisync_source.so库)插件以设置半同步复制时才会出现。如果安装了rpl_semi_sync_master插件(semisync_master.so库),则会出现Rpl_semi_sync_master_wait_pos_backtraverse

  • Rpl_semi_sync_source_wait_sessions

    当前等待副本回复的会话数。

    当在源端安装了rpl_semi_sync_sourcesemisync_source.so库)插件以设置半同步复制时,就会出现Rpl_semi_sync_source_wait_sessions。如果安装了rpl_semi_sync_master插件(semisync_master.so库),则会出现Rpl_semi_sync_master_wait_sessions

  • Rpl_semi_sync_source_yes_tx

    副本成功确认的提交次数。

    当在源上安装了rpl_semi_sync_sourcesemisync_source.so库)插件以设置半同步复制时,Rpl_semi_sync_source_yes_tx可用。如果安装了rpl_semi_sync_master插件(semisync_master.so库),则可用Rpl_semi_sync_master_yes_tx

  • Rpl_semi_sync_replica_status

    显示复制品上当前是否正在运行半同步复制。如果插件已启用且复制 I/O(接收器)线程正在运行,则为ON,否则为OFF

    当在复制品上安装了rpl_semi_sync_replicasemisync_replica.so库)插件以设置半同步复制时,Rpl_semi_sync_replica_status可用。如果安装了rpl_semi_sync_slave插件(semisync_slave.so库),则可用Rpl_semi_sync_slave_status

  • Rpl_semi_sync_slave_status

    显示复制品上当前是否正在运行半同步复制。如果插件已启用且复制 I/O(接收器)线程正在运行,则为ON,否则为OFF

    当在复制品上安装了rpl_semi_sync_slavesemisync_slave.so库)插件以设置半同步复制时,Rpl_semi_sync_slave_status可用。如果安装了rpl_semi_sync_replica插件(semisync_replica.so库),则可用Rpl_semi_sync_replica_status

  • Rsa_public_key

    此变量的值是sha256_password认证插件用于 RSA 密钥对密码交换的公钥。仅当服务器成功初始化由sha256_password_private_key_pathsha256_password_public_key_path系统变量命名的文件中的私钥和公钥时,值才不为空。Rsa_public_key的值来自后一个文件。

    有关sha256_password的信息,请参见第 8.4.1.3 节,“SHA-256 可插拔认证”。

  • Secondary_engine_execution_count

    转移到辅助引擎的查询数量。此变量在 MySQL 8.0.13 中添加。

    用于 HeatWave。请参阅 MySQL HeatWave 用户指南。

  • Select_full_join

    执行表扫描的连接数,因为它们不使用索引。如果此值不为 0,则应仔细检查表的索引。

  • Select_full_range_join

    使用范围搜索的连接表的数量。

  • Select_range

    使用第一个表范围的连接数。即使该值很大,通常也不是关键问题。

  • Select_range_check

    在每行后检查键使用情况的无键连接数。如果此值不为 0,则应仔细检查表的索引。

  • Select_scan

    对第一个表进行全面扫描的连接数。

  • Slave_open_temp_tables

    从 MySQL 8.0.26 开始,Slave_open_temp_tables 已弃用,应改用别名 Replica_open_temp_tables。在 MySQL 8.0.26 之前的版本中,请使用 Slave_open_temp_tables

    Slave_open_temp_tables 显示复制 SQL 线程当前打开的临时表的数量。如果该值大于零,则不安全关闭副本;请参见 第 19.5.1.31 节,“复制和临时表”。此变量报告所有复制通道的打开临时表的总数。

  • Slave_rows_last_search_algorithm_used

    从 MySQL 8.0.26 开始,Slave_rows_last_search_algorithm_used 已弃用,应改用别名 Replica_rows_last_search_algorithm_used。在 MySQL 8.0.26 之前的版本中,请使用 Slave_rows_last_search_algorithm_used

    Slave_rows_last_search_algorithm_used 显示此复制品最近用于定位行以进行基于行的复制的搜索算法。结果显示复制品是否在任何通道上执行的最后一个事务中使用索引、表扫描或哈希作为搜索算法。

    使用取决于slave_rows_search_algorithms系统变量的设置以及相关表上可用的密钥。

    此变量仅适用于 MySQL 的调试版本。

  • Slow_launch_threads

    超过slow_launch_time秒创建的线程数。

  • Slow_queries

    超过long_query_time秒的查询次数。无论是否启用慢查询日志,此计数器都会递增。有关该日志的信息,请参阅第 7.4.5 节,“慢查询日志”。

  • Sort_merge_passes

    排序算法已经执行的合并次数。如果这个值很大,您应该考虑增加sort_buffer_size系统变量的值。

  • Sort_range

    使用范围进行的排序次数。

  • Sort_rows

    已排序行的数量。

  • Sort_scan

    通过扫描表进行的排序次数。

  • Ssl_accept_renegotiates

    建立连接所需的协商次数。

  • Ssl_accepts

    已接受的 SSL 连接数量。

  • Ssl_callback_cache_hits

    回调缓存命中次数。

  • Ssl_cipher

    当前的加密密码(未加密连接为空)。

  • Ssl_cipher_list

    可能的 SSL 密码列表(非 SSL 连接为空)。如果 MySQL 支持 TLSv1.3,则该值包括可能的 TLSv1.3 密码套件。请参阅第 8.3.2 节,“加密连接 TLS 协议和密码”。

  • Ssl_client_connects

    尝试连接到启用 SSL 的复制源服务器的 SSL 连接次数。

  • Ssl_connect_renegotiates

    建立到启用 SSL 的复制源服务器的连接所需的协商次数。

  • Ssl_ctx_verify_depth

    SSL 上下文验证深度(测试链中有多少证书)。

  • Ssl_ctx_verify_mode

    SSL 上下文验证模式。

  • Ssl_default_timeout

    默认 SSL 超时时间。

  • Ssl_finished_accepts

    成功连接到服务器的 SSL 连接数。

  • Ssl_finished_connects

    成功复制到启用 SSL 的复制源服务器的连接数。

  • Ssl_server_not_after

    SSL 证书有效的最后日期。要检查 SSL 证书到期信息,请使用此语句:

    mysql> SHOW STATUS LIKE 'Ssl_server_not%';
    +-----------------------+--------------------------+
    | Variable_name         | Value                    |
    +-----------------------+--------------------------+
    | Ssl_server_not_after  | Apr 28 14:16:39 2025 GMT |
    | Ssl_server_not_before | May  1 14:16:39 2015 GMT |
    +-----------------------+--------------------------+
    
  • Ssl_server_not_before

    SSL 证书有效的第一个日期。

  • Ssl_session_cache_hits

    SSL 会话缓存命中次数。

  • Ssl_session_cache_misses

    SSL 会话缓存未命中次数。

  • Ssl_session_cache_mode

    SSL 会话缓存模式。当ssl_session_cache_mode服务器变量的值为ON时,Ssl_session_cache_mode状态变量的值为SERVER

  • Ssl_session_cache_overflows

    SSL 会话缓存溢出次数。

  • Ssl_session_cache_size

    SSL 会话缓存大小。

  • Ssl_session_cache_timeout

    缓存中 SSL 会话的超时值(以秒为单位)。

  • Ssl_session_cache_timeouts

    SSL 会话缓存超时次数。

  • Ssl_sessions_reused

    如果当前 MySQL 会话中未使用 TLS,或者未重用 TLS 会话,则此值为 0;否则为 1。

    Ssl_sessions_reused具有会话范围。

  • Ssl_used_session_cache_entries

    使用了多少 SSL 会话缓存条目。

  • Ssl_verify_depth

    复制 SSL 连接的验证深度。

  • Ssl_verify_mode

    服务器用于使用 SSL 的连接的验证模式。该值是一个位掩码;位在openssl/ssl.h头文件中定义:

    # define SSL_VERIFY_NONE                 0x00
    # define SSL_VERIFY_PEER                 0x01
    # define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02
    # define SSL_VERIFY_CLIENT_ONCE          0x04
    

    SSL_VERIFY_PEER表示服务器要求客户端证书。如果客户端提供了证书,服务器将进行验证,并仅在验证成功时继续。SSL_VERIFY_CLIENT_ONCE表示仅在初始握手中执行对客户端证书的请求。

  • Ssl_version

    连接的 SSL 协议版本(例如,TLSv1)。如果连接未加密,则该值为空。

  • Table_locks_immediate

    申请表锁可以立即获得的次数。

  • Table_locks_waited

    申请表锁无法立即获得并需要等待的次数。如果这个数字很高并且出现性能问题,你应该首先优化你的查询,然后要么拆分你的表或表,要么使用复制。

  • Table_open_cache_hits

    开放表缓存查找的命中次数。

  • Table_open_cache_misses

    开放表缓存查找的未命中次数。

  • Table_open_cache_overflows

    开放表缓存的溢出次数。这是在打开或关闭表后,缓存实例有一个未使用的条目且实例的大小大于table_open_cache / table_open_cache_instances时的次数。

  • Tc_log_max_pages_used

    对于当mysqld充当内部 XA 事务恢复的事务协调器时使用的日志的内存映射实现,此变量指示自服务器启动以来日志使用的最大页数。如果Tc_log_max_pages_usedTc_log_page_size的乘积始终明显小于日志大小,则大小大于必要大小,可以减小。(大小由--log-tc-size选项设置。此变量未使用:对于基于二进制日志的恢复是不需要的,并且除非能够进行两阶段提交并支持 XA 事务的存储引擎数量大于一个,否则不会使用内存映射恢复日志方法。(InnoDB是唯一适用的引擎。)

  • Tc_log_page_size

    用于 XA 恢复日志的内存映射实现的页面大小。默认值使用getpagesize()确定。出于与Tc_log_max_pages_used描述的相同原因,此变量未使用。

  • Tc_log_page_waits

    对于恢复日志的内存映射实现,每次服务器无法提交事务并必须等待日志中的空闲页时,此变量会递增。如果此值较大,您可能需要增加日志大小(使用--log-tc-size选项)。对于基于二进制日志的恢复,每次二进制日志无法关闭因为有两阶段提交正在进行时,此变量会递增。(关闭操作会等待所有此类事务完成。)

  • Telemetry_traces_supported

    服务器遥测跟踪是否受支持。

    有关更多信息,请参阅 MySQL 源代码文档中的服务器遥测跟踪服务部分。

  • Threads_cached

    线程缓存中的线程数。

  • Threads_connected

    当前打开连接的数量。

  • Threads_created

    用于处理连接创建的线程数。如果Threads_created较大,您可能需要增加thread_cache_size的值。缓存未命中率可计算为Threads_created/Connections

  • Threads_running

    非休眠状态的线程数。

  • Tls_library_version

    此 MySQL 实例中使用的 OpenSSL 库的运行时版本。

    此变量是在 MySQL 8.0.30 中添加的。

  • Uptime

    服务器已经运行的秒数。

  • Uptime_since_flush_status

    距离最近一次FLUSH STATUS语句的秒数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值