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 |
+-----------------------------------+------------+
FLUSH STATUS
该语句
将许多状态变量重置为 0
。
本节提供了每个状态变量的描述。有关状态变量摘要,请参阅 第 5.1.5 节,“服务器状态变量参考”。有关特定于 NDB Cluster 的状态变量的信息,请参阅 第 21.4.3.9.3 节,“NDB Cluster 状态变量”。
状态变量的含义如下表所示。
由于客户端未正确关闭连接而终止的连接数。请参阅 第 B.3.2.9 节,“通信错误和中止连接”。
连接到 MySQL 服务器的失败尝试次数。请参阅第 B.3.2.9 节,“通信错误和中止连接”。
有关其他连接相关信息,请检查 状态变量和 表格。
Connection_errors_
xxx
host_cache
从 MySQL 5.7.3 开始,
Aborted_connects
在嵌入式服务器中不可见,因为对于该服务器而言,它没有更新并且没有意义。使用临时二进制日志缓存但超过值
binlog_cache_size
并使用临时文件存储来自事务的语句的事务数。Binlog_stmt_cache_disk_use
在状态变量 中单独跟踪导致二进制日志事务缓存写入磁盘的非事务语句的数量 。使用二进制日志缓存的事务数。
使用二进制日志语句缓存但超过值
binlog_stmt_cache_size
并使用临时文件存储这些语句的非事务语句数。使用二进制日志语句缓存的非事务语句数。
从所有客户端接收的字节数。
发送给所有客户端的字节数。
语句计数器变量指示每个 语句已执行 的次数。每种类型的语句都有一个状态变量。例如,and count 和 statements 分别。and 类似但适用于 使用多表语法 的and 语句。
Com_
xxx
xxx
Com_delete
Com_update
DELETE
UPDATE
Com_delete_multi
Com_update_multi
DELETE
UPDATE
如果从查询缓存返回查询结果,则服务器会递增
Qcache_hits
状态变量,而不是Com_select
. 请参阅 第 8.10.3.4 节,“查询缓存状态和维护”。即使准备好的语句参数未知或在执行期间发生错误, 所有变量都会增加。换句话说,它们的值对应于发出的请求数,而不是成功完成的请求数。例如,由于状态变量在每次服务器启动时都会初始化,并且不会在重新启动后持续存在,因此 跟踪语句的变量 通常具有零值,但如果 语句已执行但失败,则可以为非零值。
Com_stmt_
xxx
Com_shutdown
SHUTDOWN
SHUTDOWN
状态变量如下 :
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
PREPARE
EXECUTE
DEALLOCATE PREPARE
Com_prepare_sql
Com_execute_sql
Com_dealloc_sql
PREPARE
EXECUTE
DEALLOCATE 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 TABLES
FLUSH 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 开始不推荐使用状态变量;希望在未来的版本中将其删除。InnoDB
可用回滚段 的总数。补充innodb_rollback_segments
系统变量,它定义了活动回滚段的数量。1个回滚段始终驻留在系统表空间中,32个回滚段保留给临时表使用,托管在临时表空间(
ibtmp1
)中。请参阅 第 14.6.7 节,“撤消日志”。如果启动一个回滚段不超过32个的MySQL实例,
InnoDB
仍然分配一个回滚段给系统表空间,32个回滚段给临时表空间。在这种情况下,Innodb_available_undo_logs
报告 33 个可用的回滚段,即使实例是使用较小的innodb_rollback_segments
值初始化的。 Innodb_buffer_pool_dump_status
记录缓冲池中页面的 操作的进度, 由or 的设置触发 。
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_startup
innodb_buffer_pool_load_now
innodb_buffer_pool_load_abort
有关相关信息和示例,请参阅 第 14.8.3.6 节,“保存和恢复缓冲池状态”。
包含数据的
InnoDB
缓冲池中 的总字节数。该数字包括 脏页和干净页。为了比使用更准确的内存使用计算Innodb_buffer_pool_pages_data
,当压缩表导致缓冲池保存不同大小的页面时。缓冲池中包含数据 的页数。 该数字包括 脏页和干净页。使用压缩表时,报告的 值可能大于 (错误#59550)。
InnoDB
Innodb_buffer_pool_pages_data
Innodb_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
缓冲池中因管理开销(例如行锁或 自适应散列索引)而被分配而忙碌 的页数。 该值也可以计算为 - - 。使用压缩表时, 可能会报告越界值(错误 #59550)。
InnoDB
Innodb_buffer_pool_pages_total
Innodb_buffer_pool_pages_free
Innodb_buffer_pool_pages_data
Innodb_buffer_pool_pages_misc
Innodb_buffer_pool_pages_total
InnoDB
缓冲池 的总大小,以 页为单位。使用 压缩表时,报告的Innodb_buffer_pool_pages_data
值可能大于Innodb_buffer_pool_pages_total
(错误#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_cost
有会话范围。尝试连接到锁定的用户帐户的次数。有关帐户锁定和解锁的信息,请参阅 第 6.2.15 节,“帐户锁定”。
SELECT
超过执行超时 的语句数。SELECT
设置了非零执行超时 的语句数。这包括包含非零MAX_EXECUTION_TIME
优化器提示的语句,以及不包含此类提示但在max_execution_time
系统变量指示的超时为非零时执行的语句。SELECT
尝试设置执行超时失败 的语句数。自服务器启动以来同时使用的最大连接数。
Max_used_connections
达到其当前值 的时间 。此状态变量已弃用(因为
DELAYED
不支持插入);希望在未来的版本中将其删除。MeCab 全文解析器插件当前使用的字符集。有关相关信息,请参阅 第 12.10.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
列 。已弃用并在 MySQL 8.0 中删除。replication_connection_configuration
Slave_heartbeat_period
显示副本何时收到最近的心跳信号,作为一个
TIMESTAMP
值。该变量受
show_compatibility_56
系统变量值的影响。有关详细信息,请参阅 show_compatibility_56 对从站状态变量的影响。笔记此变量仅显示默认复制通道的状态。要监视任何复制通道,请使用 表中的复制通道
LAST_HEARTBEAT_TIMESTAMP
列 。已弃用并在 MySQL 8.0 中删除。replication_connection_status
Slave_last_heartbeat
副本 SQL 线程当前已打开的临时表数。如果该值大于零,关闭副本是不安全的;参见 第 16.4.1.29 节,“复制和临时表”。此变量报告所有复制通道 的打开临时表的总数 。
自上次重新启动或重置副本或
CHANGE MASTER TO
发出语句以来,复制副本收到每个复制心跳时,此计数器都会递增。该变量受
show_compatibility_56
系统变量值的影响。有关详细信息,请参阅 show_compatibility_56 对从站状态变量的影响。笔记此变量仅显示默认复制通道的状态。要监视任何复制通道,请使用 表中的复制通道
COUNT_RECEIVED_HEARTBEATS
列 。 已弃用并在 MySQL 8.0 中删除。replication_connection_status
Slave_received_heartbeats
自启动以来复制副本 SQL 线程重试事务的总次数。
该变量受
show_compatibility_56
系统变量值的影响。有关详细信息,请参阅 show_compatibility_56 对从站状态变量的影响。笔记此变量仅显示默认复制通道的状态。要监视任何复制通道,请使用 表中的复制通道
COUNT_TRANSACTIONS_RETRIES
列。 已弃用并在 MySQL 8.0 中删除。replication_applier_status
Slave_retried_transactions
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_status
replication_connection_status
Slave_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 会话缓存超时次数。
从缓存中重用了多少 SSL 连接。
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)。如果连接未加密,则值为空。
可以立即授予表锁请求的次数。
无法立即授予表锁请求并需要等待的次数。如果这个值很高并且你有性能问题,你应该首先优化你的查询,然后拆分你的一个或多个表或使用复制。
打开表缓存查找的命中数。
打开表缓存查找的未命中数。
The number of overflows for the open tables cache. This is the number of times, after a table is opened or closed, a cache instance has an unused entry and the size of the instance is larger than
table_open_cache
/table_open_cache_instances
.For the memory-mapped implementation of the log that is used by mysqld when it acts as the transaction coordinator for recovery of internal XA transactions, this variable indicates the largest number of pages used for the log since the server started. If the product of
Tc_log_max_pages_used
andTc_log_page_size
is always significantly less than the log size, the size is larger than necessary and can be reduced. (The size is set by the--log-tc-size
option. This variable is unused: It is unneeded for binary log-based recovery, and the memory-mapped recovery log method is not used unless the number of storage engines that are capable of two-phase commit and that support XA transactions is greater than one. (InnoDB
is the only applicable engine.)The page size used for the memory-mapped implementation of the XA recovery log. The default value is determined using
getpagesize()
. This variable is unused for the same reasons as described forTc_log_max_pages_used
.For the memory-mapped implementation of the recovery log, this variable increments each time the server was not able to commit a transaction and had to wait for a free page in the log. If this value is large, you might want to increase the log size (with the
--log-tc-size
option). For binary log-based recovery, this variable increments each time the binary log cannot be closed because there are two-phase commits in progress. (The close operation waits until all such transactions are finished.)The number of threads in the thread cache.
此变量在嵌入式服务器 (
libmysqld
) 中没有意义,并且从 MySQL 5.7.2 开始在嵌入式服务器中不再可见。当前打开的连接数。
为处理连接而创建的线程数。如果
Threads_created
很大,您可能想要增加该thread_cache_size
值。缓存未命中率可以计算为Threads_created
/Connections
。未休眠的线程数。
服务器已启动的秒数。
自最近
FLUSH STATUS
语句以来的秒数。