MYSQL 5.7 Global Status的全面讲解

  • 前言
  • 介绍
  • 使用方式
    • 1. 版本问题
      • show_compatibility_56介绍
      • INFORMATION_SCHEMA
      • Performance Schema表(性能模式)
  • 语法
  • 详细参数
    • A
    • B
    • C
    • D
    • F
    • G
    • H
    • I
    • K
    • L
    • M
    • N
    • O
    • P
    • Q
    • R
    • S
    • T
    • U

前言

此文档是基于MySQL 5.7版本进行编写,请大家注意自己的版本,不同版本可能执行出错或者执行结果不一致。

查看MySQL版本:

select VERSION();

本文档主要是讲解Global Status的内容,但是在讲解过程中会涉及到一些其他的知识与其相关的需要解释的也会说一下,感兴趣的同学可以自行百度或者与我探讨。

对于想要相关稳当的同学请移步下载MYSQL 5.7 Global Status下载。

介绍

1.SHOW STATUS提供服务器状态信息。此语句不需要任何特权。它只需要能够连接到服务器。

2.global status: 使用GLOBAL修饰符,该语句将显示全局状态值。一个全局状态变量可以表示服务器本身某些方面的状态(例如Aborted_connects),或者所有MySQL连接的聚合状态(例如Bytes_received和Bytes_sent)。如果变量没有全局值,则显示会话值

3.session status: 使用SESSION修饰符,该语句显示当前连接的状态变量值。如果某个变量没有会话值,则显示该变量的global值。LOCAL是SESSION的同义词

4.table status:类似于SHOW TABLES,但提供了关于每个表的大量信息
non-TEMPORARY表。您还可以使用mysqlshow——status db_name命令获取这个列表。
如果存在LIKE子句,则表示要匹配哪些表名。可以给出WHERE子句
使用更一般的条件选择行

5.如果没有修饰符,则默认为SESSION。

使用方式

1. 版本问题

show_compatibility_56介绍

版本5.6的兼容开关,默认不打开,执行set global show_compatibility_56 = ‘on’;开启,在版本5.6后使用information_schema需要开启此选项。

show_compatibility_56已弃用,因为它的唯一用途是允许控制已弃用的系统和状态变量信息源,这些信息源在未来的MySQL版本中可能会被删除。当这些源被删除时,show_compatibility_56将不再具有任何用途,您可以预期它也会被删除。

INFORMATION_SCHEMA

包含系统和状态变量信息的表,但是在5.7.6及之后的版本已经被废弃,并在8.x中被移除。

报错解决

3167 - The ‘INFORMATION_SCHEMA.GLOBAL_STATUS’ feature is disabled; see the documentation for ‘show_compatibility_56’
原因:INFORMATION_SCHEMA在当前版本已经被废弃,想要使用需要开启“show_compatibility_56”。
解决办法:(执行以下任何一种都可以,执行一次就好)

set global show_compatibility_56 = 'on';
set global show_compatibility_56 = 'ON';
set global show_compatibility_56 = 1;

MySQL中开关值不区分大小写,即on/off和ON/OFF一样,1等同于on,0等同于off.

注意:一定要加global,否则报错:
1229 - Variable ‘show_compatibility_56’ is a GLOBAL variable and should be set with SET GLOBAL

Performance Schema表(性能模式)

用于替换INFORMATION_SCHEMA表*,后者在MySQL 5.7.6中已被弃用,并在MySQL 8.x中被删除*

Performance Schema不会在状态变量表中收集Com_xxx状态变量的统计信息

在MySQL 5.7.6和5.7.7中,性能模式的session_variables和session_status
表不能完全反映当前会话的所有变量值;它们不包括行
没有对应会话的全局变量。在MySQL 5.7.8中修正了这个错误。

SHOW语句的输出是使用底层的Performance Schema表生成的。

使用这些语句编写的应用程序仍然可以使用它们,但最好使用MySQL 5.7.8或更高版本。MySQL 5.7.6和5.7.7中结果可能不同

语法

show GLOBAL STATUS;
SELECT * from information_schema.GLOBAL_STATUS;
SELECT * from performance_schema.GLOBAL_STATUS;

上边的三个语句都可以通过LIKE子句,只显示名称与模式匹配的变量的行

详细参数

A

Aborted_clients
由于客户端未正确关闭连接而死亡而终止的连接数。

如果客户端连接成功,但后来不正确地断开连接或被终止,服务器将增加Aborted_clients状态变量,并在错误日志中记录一个Aborted_clients连接消息。原因可能是以下任何一种:
1.客户端程序退出前没有调用mysql_close()。
2.客户端睡眠时间超过了wait_timeout或interactive_timeout秒而没有向服务器发出任何请求。
3.客户端程序在数据传输过程中突然终止。
4.max_allowed_packet变量值太小,或者查询需要的内存比你拥有的内存更多mysqld的分配。
5.在Linux上使用以太网协议bug,一些Linux以太网驱动程序有这个bug。您应该通过使用FTP在客户机和服务器之间传输一个 巨大的文件来测试这个bug机器。

Aborted_connects
连接MySQL服务器失败的次数

如果客户端无法连接,服务器将增加Aborted_connects状态变量。
以下原因可能导致连接失败:
•客户端试图访问数据库,但没有相应的权限。
•客户端密码错误。
•连接报文信息不正确。

如果发生了这些情况,这可能表明有人试图闯入您的服务器!如果启用了通用查询日志,则这些类型的问题的消息将被记录到日志中.

ps:在MySQL 5.7.3中,Aborted_connects在嵌入式服务器中是不可见的,因为在那个服务器中它没有更新,没有意义。

B

Binlog_cache_disk_use
使用临时Binlog缓存但超过binlog_cache_size值并使用临时文件存储事务语句的事务数。
导致将二进制日志事务缓存写入磁盘的非事务性语句的数量在Binlog_stmt_cache_disk_use状态变量中单独跟踪。

Binlog_cache_use
使用Binlog缓存的事务数

Binlog_stmt_cache_disk_use
使用Binlog语句缓存但超过binlog_stmt_cache_size值并使用临时文件存储这些语句的非事务语句的数量

Binlog_stmt_cache_use
使用Binlog语句缓存的非事务性语句的数量。

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

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

C

Com_xxx

Com_xxx语句计数器变量表示每条xxx语句被执行的次数。每种类型的语句都有一个状态变量。例如,Com_delete和Com_update分别计数DELETE和UPDATE语句。Com_delete_multi和
Com_update_multi类似,但适用于使用多表语法的DELETE和UPDATE语句。

此类型包括以下参数
Com_admin_commands
Com_assign_to_keycache
Com_alter_db
Com_alter_db_upgrade
Com_alter_event
Com_alter_function
Com_alter_instance
Com_alter_procedure
Com_alter_server
Com_alter_table
Com_alter_tablespace
Com_alter_user
Com_analyze
Com_begin
Com_binlog
Com_call_procedure
Com_change_db
Com_change_master
Com_change_repl_filter
Com_check
Com_checksum
Com_commit
Com_create_db
Com_create_event
Com_create_function
Com_create_index
Com_create_procedure
Com_create_server
Com_create_table
Com_create_trigger
Com_create_udf
Com_create_user
Com_create_view
Com_dealloc_sql
Com_delete
Com_delete_multi
Com_do
Com_drop_db
Com_drop_event
Com_drop_function
Com_drop_index
Com_drop_procedure
Com_drop_server
Com_drop_table
Com_drop_trigger
Com_drop_user
Com_drop_view
Com_empty_query
Com_execute_sql
Com_explain_other
Com_flush
Com_get_diagnostics
Com_grant
Com_ha_close
Com_ha_open
Com_ha_read
Com_help
Com_insert
Com_insert_select
Com_install_plugin
Com_kill
Com_load
Com_lock_tables
Com_optimize
Com_preload_keys
Com_prepare_sql
Com_purge
Com_purge_before_date
Com_release_savepoint
Com_rename_table
Com_rename_user
Com_repair
Com_replace
Com_replace_select
Com_reset
Com_resignal
Com_revoke
Com_revoke_all
Com_rollback
Com_rollback_to_savepoint
Com_savepoint
Com_select
Com_set_option
Com_signal
Com_show_binlog_events
Com_show_binlogs
Com_show_charsets
Com_show_collations
Com_show_create_db
Com_show_create_event
Com_show_create_func
Com_show_create_proc
Com_show_create_table
Com_show_create_trigger
Com_show_databases
Com_show_engine_logs
Com_show_engine_mutex
Com_show_engine_status
Com_show_events
Com_show_errors
Com_show_fields
Com_show_function_code
Com_show_function_status
Com_show_grants
Com_show_keys
Com_show_master_status
Com_show_open_tables
Com_show_plugins
Com_show_privileges
Com_show_procedure_code
Com_show_procedure_status
Com_show_processlist
Com_show_profile
Com_show_profiles
Com_show_relaylog_events
Com_show_slave_hosts
Com_show_slave_status
Com_show_status
Com_show_storage_engines
Com_show_table_status
Com_show_tables
Com_show_triggers
Com_show_variables
Com_show_warnings
Com_show_create_user
Com_shutdown
Com_slave_start
Com_slave_stop
Com_group_replication_start
Com_group_replication_stop
Com_stmt_execute
Com_stmt_close
Com_stmt_fetch
Com_stmt_prepare
Com_stmt_reset
Com_stmt_send_long_data
Com_truncate
Com_uninstall_plugin
Com_unlock_tables
Com_update
Com_update_multi
Com_xa_commit
Com_xa_end
Com_xa_prepare
Com_xa_recover
Com_xa_rollback
Com_xa_start
Com_stmt_reprepare

Com_stmt_xxx
即使准备好的语句参数是未知的或执行过程中出错所有Com_stmt_xxx变量都会增加。换句话说,它们的值对应于请求的数量,而不是请求成功或完成的次数。

例如,因为在每次服务器启动时和在不持续重启时状态变量被初始化,Com_shutdown变量跟踪SHUTDOWN语句的值通常为零,但如果是SHUTDOWN语句执行但是失败了,则可以是非零。

此类型包含的参数:
Com_stmt_prepare
Com_stmt_execute
Com_stmt_fetch
Com_stmt_send_long_data
Com_stmt_reset
Com_stmt_close
Com_stmt_prepare
Com_stmt_execute
Com_stmt_fetch
Com_stmt_send_long_data
Com_stmt_reset
Com_stmt_close

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

Connection_errors_xxx
1.这些变量提供关于客户端连接过程中发生的错误的信息。
2.它们仅是全局的,表示跨所有主机连接聚合的错误计数。
3.这些变量包括的错误不包括主机缓存的错误。例如:
与TCP连接无关的错误。
发生在早期连接过程(甚至在IP地址已知之前)
不特定于任何特定的IP地址(例如内存不足的情况)
4.在MySQL 5.7.3中,Connection_errors_xxx状态变量在嵌入式服务器中是不可见的,因为对于该服务器,它们没有更新,没有意义。
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_tables和Created_tmp_tables值,可以将创建的内部磁盘临时表的数量与创建的内部临时表的总数进行比较。

Created_tmp_files
mysqld创建的临时文件的个数

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

1.通过比较Created_tmp_disk_tables和Created_tmp_tables值,可以将创建的内部磁盘临时表的数量与创建的内部临时表的总数进行比较。
2.每次调用SHOW STATUS语句都会使用一个内部临时表,并递增全局Created_tmp_tables值。

D

Delayed_errors
当发生错误时,由INSERT DELAYED语句写入的记录的数量

Delayed_insert_threads
当前正在使用的延迟插入句柄的线程数量

Delayed_writes
由INSERT DELAYED语句写入的记录的个数
Delayed_xxx变量已弃用(因为不支持延迟插入);希望在未来的版本中删除它。

F

Flush_commands
服务器刷新表的次数,无论是由于用户执行了FLUSH tables语句还是由于服务器内部操作。它还会随着接收到COM_REFRESH包而增加。这与Com_flush相反,Com_flush表示已经执行了多少FLUSH语句,是否执行FLUSH TABLES、FLUSH log等等。

G

group_replication_primary_member
当组在单主模式下运行时,显示主成员的UUID。如果组在多主模式下运行,则显示空字符串。

H

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时,服务器发出一个lastkey请求,然后是各自前一个密钥请求。

Handler_read_next
按键顺序读取下一行的请求数。如果使用范围约束查询索引列或执行索引扫描,则该值将递增。

Handler_read_prev
按键顺序读取前一行的请求数。这种读取方法主要用于优化ORDER BY…DESC。

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

Handler_read_rnd_next
读取数据文件中的下一行的请求数。如果要进行大量的表扫描,这个值就很高。一般来说,这表明您的表没有正确地建立索引,或者您的查询没有充分利用已有的索引。

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

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

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

Handler_update
更新表中一行的请求数。

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

I

Innodb_available_undo_logs
1、Innodb_available_undo_logs状态变量在MySQL 5.7.19已被弃用;在未来的版本中将会删除它。
2、可用的InnoDB回滚段的总数。
Innodb_available_undo_logs是Innodb_rollback_segments的补充品。
Innodb_rollback_segments系统变量,它定义了存活的回滚段的数量。
3、系统表空间中始终存在一个回滚段,保留32个回滚段
供临时表使用,托管在临时表空间(ibtmp1)中。
4、如果你初始化的MySQL实例有32个或更少的回滚段,InnoDB仍然会分配一个回滚段到系统表空间,32个回滚段到临时表空间。在这种情况下,
Innodb_available_undo_logs报告33个可用的回滚段,即使是实例
用一个较小的innodb_rollback_segments值初始化。
可用InnoDB回滚段的总数。补充innodb_rollback_segments系统变量,该变量定义活动回滚段的数量。

Innodb_buffer_pool_dump_status
记录在InnoDB缓冲池中保存的页面的操作的进度,设置
innodb_buffer_pool_dump_at_shutdown或innodb_buffer_pool_dump_now后触发。
Innodb_buffer_pool_load_status
通过读取对应于较早时间点的一组页面来预热InnoDB缓冲池的操作的进度,该设置由innodb_buffer_pool_load_at_startup或innodb_buffer_pool_load_now的设置触发。如果操作引入了太多开销,可以通过设置innodb_buffer_pool_load_abort来取消它。

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_total−Innodb_buffer_pool_pages_free−Innodb_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(错误# 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_buffer_pool_size参数来动态调整InnoDB缓冲池大小的操作的状态。innodb_buffer_pool_size参数是动态的,它允许你在不重启服务器的情况下调整缓冲池的大小。

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_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
已写入doublewrite缓冲区的页数

Innodb_dblwr_writes
已执行的doublewrite操作的次数

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

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

Innodb_log_write_requests
InnoDB redolog的写请求个数。

• Innodb_log_writes
对InnoDB redolog文件进行物理写操作的次数。

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_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表中更新的行数。

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

K

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

Key_blocks_unused
MyISAM键缓存中未使用的数量。您可以使用这个值来确定使用了多少键缓存

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键缓存到磁盘的物理写操作的次数。

L

Last_query_cost
查询优化器计算的最后一个编译查询的总成本。这对于比较相同查询的不同查询计划的成本非常有用。默认值0表示尚未编译任何查询。缺省值为0。Last_query_cost具有会话作用域。

Last_query_cost只能用于简单的“平面”查询,而不能用于包含子查询或UNION的复杂查询。对于后者,该值设置为0。

Last_query_partial_plans
查询优化器在执行计划构造上一个查询的迭代次数。

Locked_connects
尝试连接到锁定用户帐户的次数

M

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达到当前值的时间

mecab_charset
MeCab全文解析器插件当前使用的字符集

N

Not_flushed_delayed_rows
这个status变量已弃用(因为不支持延迟插入);希望在未来的版本中删除它。

O

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
缓存的.frm文件的数量。

Open_tables
打开的表 的数量

Opened_files
使用my_open() (mysys库函数)打开的文件数。未使用此函数打开文件的服务器部分不会增加该计数。

Opened_table_definitions
已经被缓存的.frm文件的数量。

Opened_tables
已经打开的表数。如果Opened_tables很大,那么table_open_cache的值可能太小了。

P

Performance_schema_xxx
这些变量提供关于由于内存限制而无法加载或创建的检测的信息。

Performance_schema_accounts_lost
由于一行已满而无法添加到帐户表的次数。

Performance_schema_cond_classes_lost
有多少条件仪表无法装载。

Performance_schema_cond_instances_lost
无法创建多少条件仪表实例。

Performance_schema_digest_lost
不能在events_statements_summary_by_digest表中测量的摘要实例的数量。如果performance_schema_digests_size的值太小,这个值可以是非零的。

Performance_schema_file_classes_lost
有多少文件仪器无法加载。

Performance_schema_file_handles_lost
有多少文件仪器实例无法打开

Performance_schema_file_instances_lost
有多少文件工具实例无法创建。

Performance_schema_hosts_lost
由于一行已满而无法添加到主机表的次数。

Performance_schema_index_stat_lost
丢失统计信息的索引数。如果performance_schema_max_index_stat的值太小,该值可以是非零的。

Performance_schema_locker_lost
由于以下情况,有多少事件被“丢失”或没有被记录:
•事件是递归的(例如,等待A导致等待B,而B又导致等待C)。
嵌套事件堆栈的深度大于实现施加的限制。
Performance Schema记录的事件不是递归的,因此该变量应该始终为0。

Performance_schema_memory_classes_lost
无法加载存储设备的次数。

Performance_schema_metadata_lock_lost
不能在metadata_locks表中插装的元数据锁的数量。如果performance_schema_max_metadata_locks的值太小,这个值可以是非零的。

Performance_schema_mutex_classes_lost
有多少互斥仪器无法加载。

Performance_schema_mutex_instances_lost
无法创建多少互斥工具实例。

Performance_schema_nested_statement_lost
丢失统计信息的存储程序语句的数量。如果performance_schema_max_statement_stack的值太小,该值可以是非零的。

Performance_schema_prepared_statements_lost
不能在prepared_statements_instances表中插装的准备语句的数量。如果performance_schema_max_prepared_statements_instances的值太小,该值可以是非零的。

Performance_schema_program_lost
丢失统计信息的存储程序的数量。如果performance_schema_max_program_instances的值太小,则该值可以是非零的。

Performance_schema_rwlock_classes_lost
有多少rwlock仪器无法加载。

Performance_schema_rwlock_instances_lost
有多少rwlock工具实例无法创建

Performance_schema_session_connect_attrs_lost
发生连接属性截断的连接数。
对于给定的连接,如果客户端发送的连接属性键-值对的聚合大小大于performance_schema_session_connect_attrs_size系统变量的值所允许的保留存储,性能模式将截断属性数据并进行递增
Performance_schema_session_connect_attrs_lost。如果该值非零,您可能希望将performance_schema_session_connect_attrs_size设置为一个更大的值。

Performance_schema_socket_classes_lost
有多少socket仪器无法加载。

Performance_schema_socket_instances_lost
无法创建多少套接字工具实例。

Performance_schema_stage_classes_lost
有多少台stage无法装载。

Performance_schema_statement_classes_lost
有多少语句工具无法加载。

Performance_schema_table_handles_lost
有多少表仪器实例无法打开。如果performance_schema_max_table_handles的值太小,这个值可以是非零的。

Performance_schema_table_instances_lost
无法创建多少表仪器实例。

Performance_schema_table_lock_stat_lost
丢失锁统计信息的表的数量。如果performance_schema_max_table_lock_stat的值太小,这个值可以是非零的。

Performance_schema_thread_classes_lost
有多少线程仪器无法加载。

Performance_schema_thread_instances_lost
无法在线程表中插装的线程实例数。如果performance_schema_max_thread_instances的值太小,这个值可以是非零的。

Performance_schema_users_lost
由于一行已满而无法添加到用户表的次数

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

Q

Qcache_xxx
查询缓存在MySQL 5.7.20版本已被弃用,并在MySQL8.0中被移除.

Qcache_free_blocks
查询缓存中可用内存块的数量

Qcache_free_memory
查询缓存的可用内存量。

Qcache_hits
查询缓存命中次数

Qcache_inserts
添加到查询缓存的查询数。

Qcache_lowmem_prunes
由于内存不足而从查询缓存中删除的查询数。

Qcache_not_cached
非缓存查询的数量(不可缓存,或由于query_cache_type设置而未缓存)。

Qcache_queries_in_cache
在查询缓存中注册的查询数

Qcache_total_blocks
查询缓存中的块总数
Queries

服务器执行的语句数。与Questions变量不同,这个变量包含在存储程序中执行的语句。它不计算COM_PING或COM_STATISTICS命令。

Questions
服务器执行的语句数。这只包括客户端发送给服务器的语句,而不是在存储程序中执行的语句,这与Queries变量不同。此变量不计算COM_PING、COM_STATISTICS、COM_STMT_PREPARE、COM_STMT_CLOSE或
COM_STMT_RESET命令。

R

Rpl_semi_sync_master_clients
半异步副本的数量。
只有在安装了源端半异步复制插件时,该变量才可用

Rpl_semi_sync_master_net_avg_wait_time
源等待副本回复的平均时间(以微秒为单位)。此变量已弃用,始终为0;期待它在未来的版本中出现。
只有在安装了源端半异步复制插件时,该变量才可用。

Rpl_semi_sync_master_net_wait_time
源等待副本回复的总时间(以微秒为单位)。此变量已弃用,且始终为0;希望在未来的版本中删除它。
只有在安装了源端半异步复制插件时,该变量才可用

Rpl_semi_sync_master_net_waits
源等待副本回复的总次数。
只有在安装了源端半异步复制插件时,该变量才可用。

Rpl_semi_sync_master_no_times
源关闭半异步复制的次数。
只有在安装了源端半异步复制插件时,该变量才可用。

Rpl_semi_sync_master_no_tx
副本未成功确认的提交次数。
只有在安装了源端半异步复制插件时,该变量才可用。

Rpl_semi_sync_master_status
源上的半异步复制当前是否可操作。如果插件被启用并且发生了提交确认,则该值为ON。如果插件没有启用,或者源由于提交确认超时而退回到异步复制,则为OFF。
只有在安装了源端半异步复制插件时,该变量才可用。

Rpl_semi_sync_master_timefunc_failures
调用time函数(如gettimeofday())时源失败的次数。
只有在安装了源端半异步复制插件时,该变量才可用

Rpl_semi_sync_master_tx_avg_wait_time
源等待每个事务的平均时间(以微秒为单位)。
只有在安装了源端半异步复制插件时,该变量才可用。

Rpl_semi_sync_master_tx_wait_time
源等待事务的总时间,以微秒为单位。
只有在安装了源端半异步复制插件时,该变量才可用。

Rpl_semi_sync_master_tx_waits
源等待事务的总次数。
只有在安装了源端半异步复制插件时,该变量才可用。

Rpl_semi_sync_master_wait_pos_backtraverse
源等待二进制坐标低于事件等待的总次数。当事务开始等待应答的顺序与它们的二进制日志事件的写入顺序不同时,就会发生这种情况。
只有在安装了源端半异步复制插件时,该变量才可用。

Rpl_semi_sync_master_wait_sessions
当前是否在副本上运行半异步复制。如果插件已经启用并且副本I/O线程正在运行,则为ON,否则为OFF。
此变量仅在安装了复制端半异步复制插件时可用。

Rsa_public_key
如果MySQL是使用OpenSSL编译的,这个变量是可用的。该值为sha256_password认证插件用于RSA密钥对密码交换的公钥。只有当服务器成功初始化由系统变量sha256_password_private_key_path和sha256_password_public_key_path命名的文件中的私钥和公钥时,该值才为空。Rsa_public_key的值来自后一个文件。

S

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

Select_full_range_join
在引用表上使用范围搜索的连接数

Select_range
在第一个表上使用范围的连接数。即使值相当大,这通常也不是一个关键问题。

Select_range_check
在每一行之后检查键使用情况的无键连接的数量。如果这不是0,您应该仔细检查表的索引

Select_scan
对第一个表进行完整扫描的连接数

Slave_heartbeat_period
此变量仅显示默认复制通道的状态。要监视任何复制通道,请使用复制通道的replication_connection_configuration表中的HEARTBEAT_INTERVAL列。
MySQL 8.0中已移除Slave_heartbeat_period。
显示复制副本上的复制心跳间隔(以秒为单位)该变量受系统变量show_compatibility_56的值影响。

Slave_last_heartbeat
此变量仅显示默认复制通道的状态。要监视任何复制通道,请对复制通道使用replication_connection_status表中的LAST_HEARTBEAT_TIMESTAMP列。
MySQL 8.0中已移除Slave_last_heartbeat。
显示副本接收到最近心跳信号的时间,以TIMESTAMP值的形式显示。该变量受系统变量show_compatibility_56的值影响

Slave_open_temp_tables
副本SQL线程当前打开的临时表的数量。如果该值大于0,关闭副本是不安全的;此变量报告所有复制通道的打开临时表的总数。

Slave_received_heartbeats
此变量仅显示默认复制通道的状态。要监视任何复制通道,请使用replication_connection_status表中的COUNT_RECEIVED_HEARTBEATS列来监视复制通道。
MySQL 8.0中已移除Slave_received_heartbeats。
自上次重新启动或重置复制副本或发出CHANGE MASTER TO语句以来,该计数器随着复制副本接收到的每个复制心跳而递增。该变量受系统变量show_compatibility_56的值影响

Slave_retried_transactions
此变量仅显示默认复制通道的状态。要监视任何复制通道,请对复制通道使用replication_applier_status表中的COUNT_TRANSACTIONS_RETRIES列。
Slave_retried_transactions已弃用,在MySQL 8.0中已移除。
自启动以来复制副本SQL线程重试事务的总次数。
该变量受系统变量show_compatibility_56的值影响

Slave_rows_last_search_algorithm_used
此副本最近用于定位基于行复制的行的搜索算法。结果显示副本是否使用索引、表扫描或散列作为在任何通道上执行的最后一个事务的搜索算法。
使用的方法取决于slave_rows_search_algorithms系统变量的设置,以及相关表上可用的键。
此变量仅用于MySQL的调试版本

Slave_running
此变量仅显示默认复制通道的状态。要监视任何复制通道,请使用复制通道的replication_applier_status或replication_connection_status表中的SERVICE_STATE列。MySQL 8.0中已移除Slave_running。
如果此服务器是连接到复制源的副本,并且I/O和SQL线程都在运行,则此选项为ON;否则为OFF。
该变量受系统变量show_compatibility_56的值影响

Slow_launch_threads
创建线程所用时间超过slow_launch_time秒的线程数。
这个变量在嵌入式服务器(libmysqld)中没有意义,并且MySQL 5.7.2在嵌入式服务器中不再可见。

Slow_queries
花费超过long_query_time秒的查询数。无论是否启用慢速查询日志,该计数器都将递增。

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连接为空)。

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_server_not_before
SSL证书有效的第一个日期

Ssl_session_cache_hits
SSL会话缓存命中次数。

Ssl_session_cache_misses
SSL会话缓存失败次数。

Ssl_session_cache_mode
SSL会话缓存模式。

Ssl_session_cache_overflows
SSL会话缓存溢出数。

Ssl_session_cache_size
SSL会话缓存大小。

Ssl_session_cache_timeouts
SSL会话缓存超时次数

Ssl_sessions_reused
从缓存中重用了多少SSL连接。

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

Ssl_verify_depth
复制SSL连接的验证深度

Ssl_verify_mode
服务器对使用SSL的连接使用的验证模式。位掩码;位在openssl/ssl.h头文件中定义。SSL_VERIFY_PEER表示服务器请求客户端证书。如果客户端提供了一个,服务器就会执行验证,并且只有在验证成功时才会继续。SSL_VERIFY_CLIENT_ONCE表示对客户端证书的请求仅在初始握手中完成。

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

T

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_used的乘积
Tc_log_page_size总是显著小于日志大小,大小大于必要的大小
可以被还原。(大小由——log-tc-size选项设置。这个变量是未使用的:它是
基于二进制日志的恢复不需要这种方法,而且不使用内存映射恢复日志方法
除非存储引擎的数量支持两阶段提交并支持XA
事务大于1。(InnoDB是唯一适用的引擎。)

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

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

Threads_cached
线程缓存中的线程数。
这个变量在嵌入式服务器(libmysqld)中没有意义,并且MySQL 5.7.2在嵌入式服务器中不再可见。

Threads_connected
当前打开的连接数。

Threads_created
为处理连接而创建的线程数。如果Threads_created很大,您可能需要增加thread_cache_size的值。缓存错过率可以计算为
Threads_created /连接。

Threads_running
未休眠的线程数。

U

Uptime
服务器启动的秒数。

Uptime_since_flush_status
自最近的FLUSH STATUS语句以来的秒数。

MYSQL 5.7 Global Status的全面讲解相关推荐

  1. Mysql优化_慢查询开启说明及Mysql慢查询分析工具mysqldumpslow用法讲解

    Mysql慢查询开启 Mysql的查询讯日志是Mysql提供的一种日志记录,它用来记录在Mysql中响应时间超过阈值的语句,具体指运行时间超过long_query_time值得SQL,则会被记录到慢查 ...

  2. mysql1193 HY000_[MySQL参数取值] Status取值ERROR 1193 (HY000): Unknown system_MySQL

    bitsCN.com [MySQL参数取值] Status取值ERROR 1193 (HY000): Unknown system variable 'Innodb_buffer_pool_read_ ...

  3. mysql中影响数据库性能的因素讲解

    mysql中影响数据库性能的因素讲解 在本篇文章中我们给大家讲述了mysql中影响性能的因素以及相关知识点内容,有兴趣的朋友参考下 关于数据库性能的故事 面试时多多少少会讲到数据库上的事情," ...

  4. mysql begin end 用法_超实用的Mysql动态更新数据库脚本的示例讲解(推荐)

    今天小编为大家分享一篇关于Mysql动态更新数据库脚本的示例讲解,具体的upgrade脚本如下: 动态删除索引 DROP PROCEDURE IF EXISTS UPGRADE;DELIMITER $ ...

  5. MySQL字段约束及多表查询---讲解三

    MySQL环境配置(mysql有下载包) MySQL数据库表的基础操作(增删改查)-讲解一 MySQL数据库表的模糊/多行/分组/排序/分页查询以及字mysql数据类型的讲解-讲解二 MySQL字段约 ...

  6. mysql strict_关于mysql 严格模式 Strict Mode的说明讲解

    1.开启与关闭Strict Mode方法 找到mysql安装目录下的my.cnf(windows系统则是my.ini)文件 在sql_mode中加入STRICT_TRANS_TABLES则表示开启严格 ...

  7. 高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(六)

    6:高颜值JavaFX数据库-九讲之六 项目效果图 功能点实现 内部优化 类结构示例 创建数据库连接类 1.创建类 2.数据库连接步骤 3.一百个注意事项 4.类的具体实现 5.错误显示的类 后记 高 ...

  8. mysql 树形结构_结合RBAC模型讲解权限管理系统需求及表结构创建

    结合RBAC模型讲解权限管理系统需求及表结构创建 在本号之前的文章中,已经为大家介绍了很多关于Spring Security的使用方法,也介绍了RBAC的基于角色权限控制模型.但是很多朋友虽然已经理解 ...

  9. mysql 关键字 status_Mysql show status命令详解

    Mysql show status命令详解 ## 介绍 SHOW STATUS提供服务器的状态信息. ## 命令用法 ```sql mysql> show status; mysql> s ...

最新文章

  1. 区块链基础--工作量证明
  2. 06-02-测试 Office Online Server Updated 2018
  3. Android Glide加载图片成圆形
  4. java8升级java12_为什么现在是升级到Java 8的最佳时机
  5. 一周冲刺计划2//第一天
  6. USB移动硬盘使用中的怪现象
  7. 学创杯创业模拟大赛攻略_蝉联冠军!哈尔滨理工大学连续两届获得“学创杯”一等奖...
  8. SAP License:实例讲解SAP与金税接口
  9. java 原子量_Java多线程-新特征-原子量
  10. springboot学习笔记(三)使用JDBC以及整合spring data jpa
  11. 7、公共电话交换网络(物理层)
  12. 聚焦企业征信商业化,可信百科为何以“百科”为名?
  13. 【RabbitMQ】连接RabbitMQ异常: com.rabbitmq.client.ShutdownSignalException: connection error; protocol meth
  14. python统计emoji个数
  15. linux电脑mac地址修改,linux修改MAC地址/localeLinux -电脑资料
  16. 小石桥的祭祀活动与电影《寻梦环游记》
  17. 深入研读“ReDet: A Rotation-equivariant Detector for Aerial Object Detection”学习笔记
  18. Huber Regression(Huber回归)
  19. React与Koa一起打造一个仿稀土掘金全栈个人博客(技术篇)
  20. 学编程前博主是做测试的,当初在测试部作为一个小官还写了不少流程呢,今天突然翻到来跟大家分享一下测试流程(之测试内部流程)

热门文章

  1. Python海龟绘图:绘制趣味简笔画
  2. QT主界面卡死崩溃解决(5种方法)
  3. Javascript案例:猜数字游戏
  4. matlab画皮亚诺曲线,2020年第十一届蓝桥杯大赛软件类决赛(国赛) C/C++ 大学A组【题面】...
  5. 服务器物理机备份,利用VMware免费工具对物理服务器进行整机备份
  6. min-aspect-ratio和max-aspect-ratio宽高比自适应布局
  7. 解决vmware卡的要死
  8. DNS服务器主配置文件路径,DNS 搭建主从DNS服务器(转载)
  9. Python 正则表达式小结1
  10. HTML学生个人网站作业设计:动漫网站设计——二次元漫画(3页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载