??官网地址:MySQL :: MySQL 5.7 Reference Manual :: 5.1.9 Server Status Variables
欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯.
MySQL 服务器维护许多状态变量,提供有关其操作的信息。您可以使用语句查看这些变量及其值SHOW [GLOBAL | SESSION] STATUS
(请参见第 13.7.5.35 节“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 |
+-----------------------------------+------------+
许多状态变量被该语句重置为 0?FLUSH STATUS。
本节提供每个状态变量的描述。有关状态变量摘要,请参见?第 5.1.5 节“服务器状态变量参考”。有关特定于 NDB Cluster 的状态变量的信息,请参阅?第 21.4.3.9.3 节,“NDB Cluster 状态变量”。
状态变量的含义如下表所示。
由于客户端未正确关闭连接而终止而中止的连接数。请参见?第 B.3.2.9 节“通信错误和中止连接”。
尝试连接 MySQL 服务器失败的次数。请参见第 B.3.2.9 节“通信错误和中止连接”。
有关连接相关的其他信息,请检查?状态变量和?表。?Connection_errors_
host_cachexxx
从 MySQL 5.7.3 开始,?Aborted_connects在嵌入式服务器中不可见,因为对于该服务器来说,它没有更新并且没有意义。
使用临时二进制日志缓存但超出 值?binlog_cache_size并使用临时文件存储事务中的语句的事务数。
导致二进制日志事务缓存写入磁盘的非事务性语句的数量在?Binlog_stmt_cache_disk_use
?状态变量中单独跟踪。
使用二进制日志缓存的事务数。
使用二进制日志语句缓存但超出了值?binlog_stmt_cache_size并使用临时文件来存储这些语句的非事务语句的数量。
使用二进制日志语句缓存的非事务性语句的数量。
从所有客户端接收的字节数。
发送到所有客户端的字节数。
语句计数器变量指示每个语句已执行的?次数 。每种类型的语句都有一个状态变量。例如,分别是 count?和?statements?。和?类似,但适用于?使用多表语法的?和 语句。Com_
xxx
xxx
Com_delete
Com_update
DELETEUPDATECom_delete_multi
Com_update_multi
DELETEUPDATE
如果从查询缓存返回查询结果,服务器会递增Qcache_hits
?状态变量,而不是Com_select
。请参见?第 8.10.3.4 节“查询缓存状态和维护”。
即使预准备语句参数未知或执行期间发生错误,?所有变量也会增加。换句话说,它们的值对应于发出的请求数,而不是成功完成的请求数。例如,由于状态变量是在每次服务器启动时初始化的,并且在重新启动后不会持续存在,因此?跟踪?语句的变量的值通常为零,但如果?语句已执行但失败,则可以为非零值。?Com_stmt_
xxx
Com_shutdown
SHUTDOWNSHUTDOWN
状态?变量如下:?Com_stmt_
xxx
Com_stmt_prepare
Com_stmt_execute
Com_stmt_fetch
Com_stmt_send_long_data
Com_stmt_reset
Com_stmt_close
这些变量代表准备好的语句命令。它们的名称指的是?网络层使用的命令集。换句话说,只要执行准备语句 API 调用(例如?mysql_stmt_prepare()、?mysql_stmt_execute()等),它们的值就会增加。然而,、?和 也分别随着、?、 或 的?增加而增加?。此外,旧语句计数器变量、?和 的?值会随着?、?和 的 增加而增加COM_
xxx
Com_stmt_prepare
Com_stmt_execute
Com_stmt_close
PREPAREEXECUTEDEALLOCATE PREPARECom_prepare_sql
Com_execute_sql
Com_dealloc_sql
PREPAREEXECUTEDEALLOCATE PREPARE声明。?Com_stmt_fetch
代表从游标获取时发出的网络往返总数。
Com_stmt_reprepare
指示在语句引用的表或视图的元数据发生更改后,服务器自动重新准备语句的次数。重新准备操作会增加?Com_stmt_reprepare
,并且?Com_stmt_prepare
。
Com_explain_other
表示执行的语句数?EXPLAIN FOR CONNECTION。请参见?第 8.8.4 节“获取命名连接的执行计划信息”。
Com_change_repl_filter
表示执行的语句数CHANGE REPLICATION FILTER?。
客户端连接是否在客户端/服务器协议中使用压缩。
这些变量提供有关客户端连接过程中发生的错误的信息。它们仅是全局的,表示所有主机的连接上聚合的错误计数。这些变量跟踪主机缓存未考虑的错误(请参阅第 5.1.11.2 节,“DNS 查找和主机缓存”),例如与 TCP 连接无关的错误,在连接过程的早期发生(甚至在连接之前)。 IP 地址已知),或者不特定于任何特定 IP 地址(例如内存不足的情况)。
从 MySQL 5.7.3 开始,?状态变量在嵌入式服务器中不可见,因为对于该服务器来说,它们不会更新并且没有意义。?Connection_errors_
xxx
accept()
调用侦听端口?期间发生的错误数 。
由于服务器内部错误(例如无法启动新线程或内存不足)而被拒绝的连接数。
Connection_errors_max_connections
max_connections由于达到?服务器限制,连接数被拒绝 。
Connection_errors_peer_address
搜索连接客户端 IP 地址时发生的错误数。
select()
调用侦听端口期间或在侦听端口上?发生的错误数?poll()
?。(此操作失败并不一定意味着客户端连接被拒绝。)
库拒绝的连接数?libwrap
。
尝试连接 MySQL 服务器的次数(成功或失败)。
服务器在执行语句时创建的内部磁盘临时表的数量。
Created_tmp_disk_tables您可以通过比较和 值?来将创建的内部磁盘临时表的数量与创建的内部临时表的总数进行比较?Created_tmp_tables
。
mysqld创建了?多少个临时文件。
服务器在执行语句时创建的内部临时表的数量。
Created_tmp_disk_tables您可以通过比较和 值?来将创建的内部磁盘临时表的数量与创建的内部临时表的总数进行比较?Created_tmp_tables。
另请参见第 8.4.4 节“MySQL 中的内部临时表使用”。
该语句的每次调用都SHOW STATUS使用内部临时表并递增全局?Created_tmp_tables值。
此状态变量已弃用(因为?DELAYED
不支持插入);预计它会在未来的版本中被删除。
此状态变量已弃用(因为?DELAYED
不支持插入);预计它会在未来的版本中被删除。
此状态变量已弃用(因为?DELAYED
不支持插入);预计它会在未来的版本中被删除。
服务器刷新表的次数,无论是由于用户执行语句FLUSH TABLES?还是由于内部服务器操作。它也会随着COM_REFRESH
?数据包的接收而增加。这与 形成对比 ,后者指示已执行了Com_flush多少条语句,是否执行了、等。?FLUSH
FLUSH TABLESFLUSH LOGS
group_replication_primary_member
当组在单主模式下运行时,显示主要成员的 UUID。如果组在多主模式下运行,则显示空字符串。
内部语句的数量COMMIT?。
从表中删除行的次数。
服务器在每次调用其?external_lock()
函数时都会递增此变量,这通常发生在访问表实例的开始和结束时。存储引擎之间可能存在差异。例如,可以使用此变量来发现访问分区表的语句在锁定发生之前修剪了多少个分区:检查该语句的计数器增加了多少,减去 2(表本身的 2 个调用),然后除以 2 即可得到锁定的分区数。
服务器使用存储引擎自己的多范围读取实现进行表访问的次数。
两阶段提交操作的准备阶段的计数器。
读取索引中第一个条目的次数。如果该值很高,则表明服务器正在执行大量完整索引扫描(例如,SELECT col1 FROM foo
假设col1
已建立索引)。
基于键读取行的请求数。如果该值很高,则很好地表明您的表已针对查询正确建立了索引。
读取索引中最后一个键的请求数。使用 时?ORDER BY
,服务器发出第一个键请求,然后发出几个下一个键请求,而使用 时?ORDER BY DESC
,服务器发出最后一个键请求,然后发出几个前一个键请求。
按键顺序读取下一行的请求数。如果您正在查询具有范围约束的索引列或正在进行索引扫描,则该值会增加。
按键顺序读取上一行的请求数。这种读取方式主要是用来优化的ORDER BY ... DESC
。
基于固定位置读取一行的请求数。如果您正在进行大量需要对结果进行排序的查询,则该值会很高。您可能有很多查询需要 MySQL 扫描整个表,或者您的连接没有正确使用键。
读取数据文件中下一行的请求数。如果您进行大量表扫描,则该值会很高。一般来说,这表明您的表没有正确索引,或者您的查询没有编写来利用您拥有的索引。
存储引擎执行回滚操作的请求数。
存储引擎放置保存点的请求数。
存储引擎回滚到保存点的请求数。
更新表中行的请求数。
在表中插入行的请求数。
Innodb_available_undo_logs?从 MySQL 5.7.19 开始,status 变量已被弃用?;?预计它会在未来的版本中被删除。
InnoDB
?可用回滚段?的总数。补充?innodb_rollback_segments?系统变量,该变量定义活动回滚段的数量。
1 个回滚段始终驻留在系统表空间中,32 个回滚段保留供临时表使用,并托管在临时表空间 (?ibtmp1
) 中。请参见?第 14.6.7 节“撤消日志”。
如果您启动具有 32 个或更少回滚段的 MySQL 实例,InnoDB
仍将 1 个回滚段分配给系统表空间,将 32 个回滚段分配给临时表空间。在这种情况下,?Innodb_available_undo_logs
即使实例是使用较小的值初始化的,也会报告 33 个可用回滚段?innodb_rollback_segments?。
Innodb_buffer_pool_dump_status
记录缓冲池中保存的?页?的操作的进度 ,由或 的?设置触发?。?InnoDB
?innodb_buffer_pool_dump_at_shutdown
innodb_buffer_pool_dump_now
有关相关信息和示例,请参见?第 14.8.3.6 节 “保存和恢复缓冲池状态”。
Innodb_buffer_pool_load_status
通过读入与较早时间点相对应的?一组页面来预热缓冲?InnoDB
?池?的操作的进度 ,由?或 的设置触发。如果该操作引入过多开销,可以通过设置取消它?。?innodb_buffer_pool_load_at_startupinnodb_buffer_pool_load_nowinnodb_buffer_pool_load_abort
有关相关信息和示例,请参见?第 14.8.3.6 节 “保存和恢复缓冲池状态”。
InnoDB
?缓冲池中包含数据?的总字节数。该数量包括?脏页和干净页。Innodb_buffer_pool_pages_data
当压缩表导致缓冲池保存不同大小的页面 时,要获得比使用更准确的内存使用量计算 。
缓冲池中包含?数据的页数?。该数量包括?脏页和干净页。当使用压缩表时,报告的?值可能大于?(Bug #59550)。?InnoDB
?Innodb_buffer_pool_pages_dataInnodb_buffer_pool_pages_total
Innodb_buffer_pool_bytes_dirty
缓冲池中脏?页?中当前保存的总字节数?。当压缩表导致缓冲池保存不同大小的页面 时,要获得比使用更准确的内存使用量计算 。InnoDB
?Innodb_buffer_pool_pages_dirty
Innodb_buffer_pool_pages_dirty
Innodb_buffer_pool_pages_flushed
Innodb_buffer_pool_pages_latched
缓冲池中?锁存页?的数量。这些是当前正在读取或写入的页面,或者由于某些其他原因而无法?刷新或删除的页面。?该变量的计算成本很高,因此仅当系统在服务器构建时定义时才?可用。InnoDB
?UNIV_DEBUG
缓冲池中由于?已分配管理开销(例如行锁或自适应?哈希索引)而处于繁忙状态 的页数。该值也可以计算为?-?-?。使用压缩表时,?可能会报告越界值(Bug #59550)。?InnoDB
?Innodb_buffer_pool_pages_total
Innodb_buffer_pool_pages_freeInnodb_buffer_pool_pages_dataInnodb_buffer_pool_pages_misc
Innodb_buffer_pool_pages_total
InnoDB
?缓冲池?的总大小(以页为 单位)?。当使用?压缩表时,报告的?Innodb_buffer_pool_pages_data?值可能大于?Innodb_buffer_pool_pages_total?(Bug #59550)
Innodb_buffer_pool_read_ahead_evicted
Innodb_buffer_pool_read_ahead_rnd
由 发起的“随机”预读?的数量InnoDB
。当查询以随机顺序扫描表的大部分时,就会发生这种情况。
Innodb_buffer_pool_read_requests
逻辑读请求的数量。
从缓冲池InnoDB
?无法满足?而必须直接从磁盘读取的?逻辑读取次数。
Innodb_buffer_pool_resize_status
通过动态设置参数触发动态 调整InnoDB
?缓冲池大小 的操作的状态?innodb_buffer_pool_size?。该?innodb_buffer_pool_size?参数是动态的,允许您在不重新启动服务器的情况下调整缓冲池的大小。有关相关信息,?请参阅?在线配置 InnoDB 缓冲池大小。
通常,对InnoDB
?缓冲池的写入发生在后台。当InnoDB
需要读取或创建页面并且没有可用的干净页面时,首先InnoDB
刷新一些?脏页面并等待该操作完成。该计数器对这些等待的实例进行计数。如果?innodb_buffer_pool_size设置得当,这个值应该很小。
Innodb_buffer_pool_write_requests
InnoDB
?对缓冲池?进行的写入次数。
fsync()
迄今为止?的操作数量。调用频率fsync()
受配置选项设置的影响?innodb_flush_method?。
当前待处理操作的数量fsync()
?。调用频率fsync()
受配置选项设置的影响?innodb_flush_method?。
当前待读取的数量。
当前待处理写入的数量。
自服务器启动以来读取的数据量(以字节为单位)。
数据读取总数(操作系统文件读取)。
数据写入总数。
到目前为止写入的数据量(以字节为单位)。
已写入?双写缓冲区的?页数。请参见第 14.12.1 节,“InnoDB 磁盘 I/O”。
已执行的双写操作的数量。请参见第 14.12.1 节,“InnoDB 磁盘 I/O”。
指示服务器是否是使用?原子指令构建的。
InnoDB
?重做日志?的写入请求数。
InnoDB
?重做日志文件 的物理写入次数。
当前保持打开的文件数量InnoDB
。
fsync()
对?InnoDB
?重做日志文件执行的写入 次数。
重做日志fsync()
文件的挂起操作?数。?InnoDB
InnoDB
?待写入重做日志文件 的数量。
InnoDB
?写入重做日志文件的 字节数。
InnoDB
页面大小(默认 16KB)。许多值以页数计算;页面大小使它们能够轻松转换为字节。
表操作创建的页数?InnoDB
。
InnoDB
?表操作?从缓冲池读取的页数InnoDB
。
表操作写入的页数?InnoDB
。
表上的操作当前正在等待的?行锁?数InnoDB
。
获取表行锁?所花费的总时间 (以毫秒为?InnoDB
单位)。
获取?表行锁的平均时间(以毫秒为?InnoDB
单位)。
获取 表行锁的最长时间,以毫秒为?InnoDB
单位。
InnoDB
?表操作必须等待行锁的?次数。
从表中删除的行数InnoDB
?。
插入表中的行数InnoDB
?。
从表中读取的行数InnoDB
。
表中更新的行数InnoDB
?。
Innodb_truncated_status_writes
SHOW ENGINE INNODB STATUS
语句输出被截断的?次数。
MyISAM
键缓存中已更改但尚未刷新到磁盘的?键块数。
键缓存中未使用的块的数量MyISAM
?。您可以使用该值来确定有多少密钥缓存正在使用中;请参阅第 5.1.7 节“服务器系统变量”key_buffer_size中?的讨论?。
键缓存中已使用的块数MyISAM
。该值是一个高水位线,表示一次使用过的最大块数。
从密钥缓存读取密钥块的请求数?MyISAM
。
将密钥块从磁盘物理读取到密钥缓存的次数?MyISAM
。如果?Key_reads很大,那么你的key_buffer_size值可能太小。缓存未命中率可以计算为?Key_reads/?Key_read_requests。
将密钥块写入密钥缓存的请求数?MyISAM
。
密钥块从密钥缓存到磁盘的物理写入次数?MyISAM
。
由查询优化器计算的最后编译查询的总成本。这对于比较同一查询的不同查询计划的成本非常有用。默认值 0 表示尚未编译任何查询。默认值为 0。Last_query_cost具有会话范围。
Last_query_cost
只能对简单的“平面”查询进行准确计算,但不能对复杂查询(例如包含子查询或?UNION.?对于后者,该值设置为 0。
查询优化器在前一个查询的执行计划构造中进行的迭代次数。
Last_query_partial_plans
有会话范围。
尝试连接到锁定的用户帐户的次数。有关帐户锁定和解锁的信息,请参阅?第 6.2.15 节 “帐户锁定”。
SELECT超出执行超时的语句?数。
SELECT设置了非零执行超时的语句?数。这包括包含非零?MAX_EXECUTION_TIME优化器提示的语句,以及不包含此类提示但在系统变量指示的超时?max_execution_time非零时执行的语句。
SELECT尝试设置执行超时失败的语句?数。
自服务器启动以来同时使用的最大连接数。
Max_used_connections达到当前值的?时间 。
此状态变量已弃用(因为?DELAYED
不支持插入);预计它会在未来的版本中被删除。
MeCab 全文解析器插件当前使用的字符集。有关相关信息,请参阅?第 12.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 一致性的?正在进行的事务的数量 。
打开的文件数。此计数包括服务器打开的常规文件。它不包括其他类型的文件,例如套接字或管道。此外,该计数不包括存储引擎使用其自己的内部函数打开的文件,而不是要求服务器级别这样做。
打开的流的数量(主要用于日志记录)。
缓存文件的数量.frm
。
打开的表的数量。
my_open()
已使用(库函数)?打开的文件数?mysys
?。不使用此函数打开文件的服务器部分不会增加计数。
.frm
已缓存的文件?数。
已打开的表的数量。如果?Opened_tables很大,则您的?table_open_cache值可能太小。
Performance_schema_
xxx
性能模式状态变量在第 25.16 节“性能模式状态变量”?中列出?。这些变量提供有关由于内存限制而无法加载或创建的检测的信息。
当前准备好的语句的数量。(语句的最大数量由?max_prepared_stmt_count?系统变量给出。)
查询缓存中的空闲内存块数。
从 MySQL 5.7.20 开始,查询缓存已被弃用,并在 MySQL 8.0 中被删除。弃用包括?Qcache_free_blocks.
查询缓存的可用内存量。
从 MySQL 5.7.20 开始,查询缓存已被弃用,并在 MySQL 8.0 中被删除。弃用包括?Qcache_free_memory.
查询缓存命中数。
本节开头的讨论表明如何将此语句计数状态变量与其他此类变量相关联。
从 MySQL 5.7.20 开始,查询缓存已被弃用,并在 MySQL 8.0 中被删除。弃用包括?Qcache_hits.
添加到查询缓存的查询数。
从 MySQL 5.7.20 开始,查询缓存已被弃用,并在 MySQL 8.0 中被删除。弃用包括?Qcache_inserts.
由于内存不足而从查询缓存中删除的查询数。
从 MySQL 5.7.20 开始,查询缓存已被弃用,并在 MySQL 8.0 中被删除。弃用包括?Qcache_lowmem_prunes.
非缓存查询的数量(不可缓存,或由于query_cache_type?设置而未缓存)。
从 MySQL 5.7.20 开始,查询缓存已被弃用,并在 MySQL 8.0 中被删除。弃用包括?Qcache_not_cached.
查询缓存中注册的查询数。
从 MySQL 5.7.20 开始,查询缓存已被弃用,并在 MySQL 8.0 中被删除。弃用包括?Qcache_queries_in_cache.
查询缓存中的块总数。
从 MySQL 5.7.20 开始,查询缓存已被弃用,并在 MySQL 8.0 中被删除。弃用包括?Qcache_total_blocks.
服务器执行的语句数。与变量不同,该变量包括在存储程序中执行的语句Questions
。它不计数COM_PING
或?COM_STATISTICS
命令。
本节开头的讨论表明如何将此语句计数状态变量与其他此类变量相关联。
服务器执行的语句数。与变量不同,这仅包括客户端发送到服务器的语句,而不包括存储程序中执行的语句?Queries。该变量不计算COM_PING
、?COM_STATISTICS
、?COM_STMT_PREPARE
、?COM_STMT_CLOSE
或?COM_STMT_RESET
命令。
本节开头的讨论表明如何将此语句计数状态变量与其他此类变量相关联。
半同步副本的数量。
仅当安装了源端半同步复制插件时,该变量才可用。
Rpl_semi_sync_master_net_avg_wait_time
源等待副本回复的平均时间(以微秒为单位)。此变量始终已被弃用?0
;预计它会出现在未来的版本中。
仅当安装了源端半同步复制插件时,该变量才可用。
Rpl_semi_sync_master_net_wait_time
源等待副本回复的总时间(以微秒为单位)。该变量已被弃用,并且始终是?0
;预计它会在未来版本中被删除。
仅当安装了源端半同步复制插件时,该变量才可用。
Rpl_semi_sync_master_net_waits
源等待副本回复的总次数。
仅当安装了源端半同步复制插件时,该变量才可用。
源关闭半同步复制的次数。
仅当安装了源端半同步复制插件时,该变量才可用。
副本未成功确认的提交数量。
仅当安装了源端半同步复制插件时,该变量才可用。
半同步复制当前是否可在源上运行。该值是ON
插件是否已启用并且已发生提交确认。如果OFF
插件未启用或源由于提交确认超时而回退到异步复制。
仅当安装了源端半同步复制插件时,该变量才可用。
Rpl_semi_sync_master_timefunc_failures
调用时间函数(例如 )时源失败的次数gettimeofday()
。
仅当安装了源端半同步复制插件时,该变量才可用。
Rpl_semi_sync_master_tx_avg_wait_time
源等待每个事务的平均时间(以微秒为单位)。
仅当安装了源端半同步复制插件时,该变量才可用。
Rpl_semi_sync_master_tx_wait_time
源等待事务的总时间(以微秒为单位)。
仅当安装了源端半同步复制插件时,该变量才可用。
源等待事务的总次数。
仅当安装了源端半同步复制插件时,该变量才可用。
Rpl_semi_sync_master_wait_pos_backtraverse
源等待二进制坐标低于先前等待的事件的事件的总次数。当事务开始等待答复的顺序与其二进制日志事件的写入顺序不同时,可能会发生这种情况。
仅当安装了源端半同步复制插件时,该变量才可用。
Rpl_semi_sync_master_wait_sessions
当前等待副本回复的会话数。
仅当安装了源端半同步复制插件时,该变量才可用。
副本成功确认的提交数。
仅当安装了源端半同步复制插件时,该变量才可用。
半同步复制当前是否可在副本上运行。这是ON
如果插件已启用并且副本 I/O 线程正在运行,?OFF
否则。
仅当安装了副本端半同步复制插件时,此变量才可用。
如果 MySQL 是使用 OpenSSL 编译的,则此变量可用(请参见第 6.3.4 节“SSL 库相关功能”)。它的值是身份验证插件用于sha256_password
?基于 RSA 密钥对的密码交换的公钥。sha256_password_private_key_path?仅当服务器成功初始化和 系统变量命名的文件中的私钥和公钥时,该值才为非空?sha256_password_public_key_path?。的值?Rsa_public_key来自后一个文件。
有关 的信息sha256_password
,请参阅?第 6.4.1.5 节 “SHA-256 可插入身份验证”。
由于不使用索引而执行表扫描的连接数。如果该值不为 0,则应仔细检查表的索引。
在引用表上使用范围搜索的联接数。
在第一个表上使用范围的联接数。即使该值相当大,这通常也不是一个关键问题。
没有键的连接数,用于在每行之后检查键的使用情况。如果它不为 0,您应该仔细检查表的索引。
对第一个表进行完整扫描的联接数。
显示复制副本上的复制检测信号间隔(以秒为单位)。
该变量受?show_compatibility_56系统变量值的影响。有关详细信息,请参阅?show_compatibility_56 对从站状态变量的影响。
该变量仅显示默认复制通道的状态。要监视任何复制通道,请使用表HEARTBEAT_INTERVAL
中的?replication_connection_configuration?复制通道列。?Slave_heartbeat_period已弃用并在 MySQL 8.0 中删除。
显示副本接收最新心跳信号的时间(作为值)TIMESTAMP。
该变量受?show_compatibility_56系统变量值的影响。有关详细信息,请参阅?show_compatibility_56 对从站状态变量的影响。
该变量仅显示默认复制通道的状态。要监视任何复制通道,请使用表LAST_HEARTBEAT_TIMESTAMP
中的?replication_connection_status?复制通道列。?Slave_last_heartbeat已弃用并在 MySQL 8.0 中删除。
副本 SQL 线程当前打开的临时表的数量。如果该值大于零,则关闭副本并不安全;请参见?第 16.4.1.29 节“复制和临时表”。该变量报告所有复制通道打开的临时表的总数?。
自上次重新启动或重置副本或?CHANGE MASTER TO发出语句以来,该计数器随着复制副本收到的每个复制心跳而递增。
该变量受?show_compatibility_56系统变量值的影响。有关详细信息,请参阅?show_compatibility_56 对从站状态变量的影响。
该变量仅显示默认复制通道的状态。要监视任何复制通道,请使用表COUNT_RECEIVED_HEARTBEATS
中的?replication_connection_status?复制通道列。?Slave_received_heartbeats?已弃用并在 MySQL 8.0 中删除。
自启动以来复制副本 SQL 线程重试事务的总次数。
该变量受?show_compatibility_56系统变量值的影响。有关详细信息,请参阅?show_compatibility_56 对从站状态变量的影响。
该变量仅显示默认复制通道的状态。要监视任何复制通道,请使用表COUNT_TRANSACTIONS_RETRIES
中的replication_applier_status?复制通道列。?Slave_retried_transactions?已弃用并在 MySQL 8.0 中删除。
Slave_rows_last_search_algorithm_used
该副本最近使用的搜索算法来定位基于行的复制的行。结果显示副本是否使用索引、表扫描或哈希作为在任何通道上执行的最后一个事务的搜索算法。
使用的方法取决于?slave_rows_search_algorithms?系统变量的设置以及相关表中可用的键。
该变量仅适用于 MySQL 的调试版本。
这是ON
如果该服务器是连接到复制源的副本,并且 I/O 和 SQL 线程都在运行;否则,就是OFF
。
该变量受?show_compatibility_56系统变量值的影响。有关详细信息,请参阅?show_compatibility_56 对从站状态变量的影响。
该变量仅显示默认复制通道的状态。要监视任何复制通道,请使用?复制通道的?或 表SERVICE_STATE
中 的列。已弃用并在 MySQL 8.0 中删除。?replication_applier_statusreplication_connection_statusSlave_running
slow_launch_time创建时间?超过几秒的线程数 。
该变量在嵌入式服务器 ( ) 中没有意义libmysqld
,并且从 MySQL 5.7.2 开始在嵌入式服务器中不再可见。
花费时间超过秒的查询数?long_query_time。无论是否启用慢查询日志,该计数器都会递增。有关该日志的信息,请参阅?第 5.4.5 节“慢查询日志”。
排序算法必须执行的合并传递次数。如果该值较大,则应考虑增大sort_buffer_size?系统变量的值。
使用范围完成的排序数。
已排序的行数。
通过扫描表完成的排序数。
建立连接所需的协商次数。
接受的 SSL 连接数。
回调缓存命中数。
当前的加密密码(对于未加密的连接为空)。
可能的 SSL 密码列表(对于非 SSL 连接为空)。
尝试与启用 SSL 的源进行 SSL 连接的次数。
与启用 SSL 的源建立连接所需的协商次数。
SSL 上下文验证深度(测试链中的多少个证书)。
SSL 上下文验证模式。
默认 SSL 超时。
与服务器的成功 SSL 连接的数量。
与启用 SSL 的源的成功副本连接的数量。
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 证书有效的第一个日期。
SSL 会话缓存命中数。
SSL 会话缓存未命中数。
SSL 会话缓存模式。
SSL 会话缓存溢出的数量。
SSL 会话缓存大小。
SSL 会话缓存超时次数。
如果当前 MySQL 会话中未使用 TLS,或者 TLS 会话尚未被重用,则该值等于 0;否则等于 1。
Ssl_sessions_reused
有会话范围。
Ssl_used_session_cache_entries
使用了多少个 SSL 会话缓存条目。
复制 SSL 连接的验证深度。
服务器对使用 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 协议版本(例如 TLSv1)。如果连接未加密,则该值为空。
可以立即授予表锁请求的次数。
无法立即授予表锁请求而需要等待的次数。如果这个值很高并且您遇到性能问题,则应该首先优化查询,然后拆分一个或多个表或使用复制。
打开表缓存查找的命中次数。
打开表缓存查找的未命中次数。
打开表缓存的溢出次数。这是打开或关闭表后,缓存实例有未使用条目且实例大小大于table_open_cache?/的次数table_open_cache_instances。
对于mysqld在充当恢复内部 XA 事务的事务协调器时 使用的日志的内存映射实现,该变量指示自服务器启动以来用于日志的最大页数。Tc_log_max_pages_used如果和?的乘积?Tc_log_page_size
始终显着小于对数大小,则大小大于所需大小,可以减小。(尺寸由?--log-tc-size选项。该变量未使用:基于二进制日志的恢复不需要该变量,并且不会使用内存映射恢复日志方法,除非能够进行两阶段提交且支持 XA 事务的存储引擎数量大于 1。(InnoDB
是唯一适用的引擎。)
用于 XA 恢复日志的内存映射实现的页面大小。默认值是使用 确定的?getpagesize()
。未使用此变量的原因与 中所述的原因相同?Tc_log_max_pages_used。
对于恢复日志的内存映射实现,每次服务器无法提交事务并且必须等待日志中的空闲页时,该变量都会递增。如果该值很大,您可能需要增加日志大小(使用该?--log-tc-size选项)。对于基于二进制日志的恢复,每次由于正在进行两阶段提交而无法关闭二进制日志时,该变量都会递增。(关闭操作将等待所有此类事务完成。)
线程缓存中的线程数。
该变量在嵌入式服务器 ( ) 中没有意义libmysqld
,并且从 MySQL 5.7.2 开始在嵌入式服务器中不再可见。
当前打开的连接数。
为处理连接而创建的线程数。如果?Threads_created很大,您可能需要增加该?thread_cache_size值。缓存未命中率可以计算为?Threads_created/?Connections。
未休眠的线程数。
服务器已启动的秒数。
自最近的语句以来的秒数FLUSH STATUS
。