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中被移除。 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; ###5.7版本前使用 SELECT * from performance_schema.GLOBAL_STATUS; ###5.7版本后使用 上边的三个语句都可以通过LIKE子句,只显示名称与模式匹配的变量的行 MySQL 5.6的时候如下系统变量和状态变量可以使用show命令获取: SHOW VARIABLES SHOW STATUS 他们的来源于如下表 INFORMATION_SCHEMA.GLOBAL_VARIABLES INFORMATION_SCHEMA.SESSION_VARIABLES INFORMATION_SCHEMA.GLOBAL_STATUS INFORMATION_SCHEMA.SESSION_STATUS MySQL 5.7.6开始后改成了从如下表获取 performance_schema.global_variables performance_schema.session_variables performance_schema.variables_by_thread performance_schema.global_status performance_schema.session_status performance_schema.status_by_thread performance_schema.status_by_account performance_schema.status_by_host performance_schema.status_by_user 从该版本开始MySQL引入了show_compatibility_56参数来控制show命令从什么地方获取值 当show_compatibility_56为ON时代表启用了MySQL 5.6的兼容性,这时和MySQL5.6一致 如果show_compatibility_56为OFF,则代表禁用兼容性,这时表的信息通过peformance_schema获取,这时直接查询information_schame会报错。该参数从5.7.8开始默认为OFF。 --mysql版本在8.0之前不能使用with的写法。 --通过全局状态变量查看读取和写入的字节数和行数 WITH rows_read AS ( SELECT sum( variable_value ) AS rows_read FROM PERFORMANCE_SCHEMA.global_status WHERE variable_name IN ( 'Handler_read_first', 'Handler_read_key', 'Handler_read_next', 'Handler_read_last', 'Handler_read_prev', 'Handler_read_rnd', 'Handler_read_rnd_next' )), rows_written AS ( SELECT sum( variable_value ) AS rows_written FROM PERFORMANCE_SCHEMA.global_status WHERE variable_name IN ( 'Handler_write' )) SELECT * FROM rows_read, rows_written \G 详细参数解释: 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语句以来的秒数。
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1321次阅读
2025-03-13 11:40:53
MySQL8.0统计信息总结
闫建(Rock Yan)
492次阅读
2025-03-17 16:04:03
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
463次阅读
2025-03-13 14:38:19
Ogg23ai高手必看-MySQL Innodb Cluster跟oracle的亲密接触
曹海峰
461次阅读
2025-03-04 21:56:13
SQL优化 - explain查看SQL执行计划(一)
金同学
393次阅读
2025-03-13 16:04:22
MySQL突然崩溃?教你用gdb解剖core文件,快速锁定“元凶”!
szrsu
368次阅读
2025-03-13 00:29:43
MySQL生产实战优化(利用Index skip scan优化性能提升257倍)
chengang
328次阅读
2025-03-17 10:36:40
MySQL数据库当前和历史事务分析
听见风的声音
294次阅读
2025-04-01 08:47:17
一键装库脚本3分钟极速部署,传统耗时砍掉95%!
IT邦德
238次阅读
2025-03-10 07:58:44
MySQL8.0直方图功能简介
Rock Yan
232次阅读
2025-03-21 15:30:53