系统变量
SHOW VARIABLES可以使用这些变量,代表配置信息,可以通过INFORMATION_SCHEMA数据库里的各个表访问这些变量
状态变量
SHOW STATUS只读,可以从INFORMATION_SCHEMA.GLOBAL_STATUS和INFORMATION_SCHEMA.SESSION_STATUS表取值
线程和连接统计信息
尝试连接,退出连接,网络流量,线程统计信息:Connections,Max_used_connections,Threads_connected
Aborted_clients,Aborted_connects
Bytes_received,Bytes_sent
Slow_launch_threads,Threads_cached,Threads_created,Threads_running
Aborted_connects不为0,是有网络问题或者尝试连接并且失败。太大也会有问题
Aborted_clients在累加,有应用错误发生
Threads_created/Uptime跟0差不多,意味着线程缓冲区太小了
二进制日志状态
Binlog_cache_use和Binlog_cache_disk_use可以显示当前二进制日志缓存保存了多少个事务,有多少事务过于庞大无法放入缓存,只能把它们的语句存储在一个临时文件命令计数器
Com_*记录了已发出的每一种SQL的数目临时表和文件
SHOW GLOBAL STATUS LIKE 'Created_tmp%';Handler操作
Handler API是MySQL与存储引擎之间的借口。Handler_*变量记录了Handler的操作次数SHOW GLOBAL STATUS LIKE 'Handler%';
MyISAM索引键缓冲区
Key_*包含了MyISAM索引键缓冲区的度量值和计数器SHOW GLOBAL STATUS LIKE 'Key_%';
文件描述符
主要是MyISAM,它能告诉MySQL打开每一张表的.frm,.MYI,.MYD文件的频度分别是多少SHOW GLOBAL STATUS LIKE 'Open_%';
查询缓存
通过Qcache_*来检查查询缓存SHOW GLOBAL STATUS LIKE 'Qcache_%';
SELECT
Select_*记录了各类型SELECT查询的次数SHOW GLOBAL STATUS LIKE 'Select_%';
Select_range
一种联接数目,该连接在第一个表的索引的指定范围内做扫描
Select_scan
对第一个表做全表扫描的联接数目
Select_full_range_join
使用表n里的一个值去获取表n+1里某个引用索引范围内的行
Select_range_check
为表n里的每一行,在表n+1里对索引重新估值,开销非常高
Select_full_join
检查的行总数是每个表里行数的乘积,很糟糕
一般最后两个变量的增长不应该很快。
排序
当MySQL无法使用索引区获得预排序的行时,就会去做文件排序,增加Sort_*的值。MySQL使用排序缓冲区存储一批数据行做排序,完成排序后,把已排序的行归并到结果里,增加Sort_merge_passes的值,然后又填充一批新数据到缓冲区。SHOW GLOBAL STATUS LIKE 'Sort_%';
当MySQL从文件排序的结果读取排序过的数据行,增加Sort_scan和Sort_range。如果查询方案触发了Select_scan增长,Sort_scan也会增长。当Select_range增长时,Sort_range也会增长
表锁定
Table_locks_immediate和Table_locks_waited可以知道在一个时刻内有多少锁立即被授予,有多少需要等待SHOW INNODB STATUS
1.SEMAPHORE包含两种数据:时间计数器,可选的当前等待线程的列表。如果有高并发的工作负载,需要关注这一段信号量
2.LATEST FOREIGN KEY ERROR
只有在服务器上有外键错误的时候才会出现
3.LATEST DETECTED DEADLOCK
只有当服务器内有死锁时才会出现
4.TRANSACTION
包含InnoDB事务的一些信息
5.FILE I/O
显示是I/O helper线程的状态,用性能计数器的方式表示
至少会看到插入缓冲区线程,日志线程,读线程,写线程
6.LOG
显示InnoDB事务LOG子系统的统计信息
7.BUFFER POOL AND MEMORY
8.ROW OPERATIONS
9.SHOW PROCESSLIST
显示连接到MySQL的线程的当前状态信息。Command和State列显示线程状态
10.SHOW MUTEX STATUS
返回InnoDB互斥量的细节信息,用于深入观察系统伸缩性和并发性的问题
复制状态
SHOW MASTER STATUS 显示主机复制信息和配置SHOW BINARY LOGS 得到一个二进制日志的清单
SHOW BINLOG EVENTS 查看二进制日志里的事件
SHOW SLAVE STATUS 查看从服务器的状态和配置信息
Master_Log_File/Read_Master_Log_Pos I/O线程在主服务器二进制日志上正在读取的位置
Relay_Log_File/Relay_Log_Pos SQL线程在从服务器转发日志上正在执行的位置
Relay_Master_Log_File/Exec_Master_Log_Pos SQL线程在主服务器二进制日志上正在执行的位置