文章目录
- 查看当前线程数据
- 查询连接情况
- 查询缓存相关
- 查询锁相关
- 查询增删改查执行次数
- 查询DDL创建相关
 
SHOW STATUS 是一个在 MySQL 中用来查看服务器运行状态的命令。它可以帮助你了解服务器的当前性能,包括连接数、表锁定、缓冲区使用情况等信息。
查看当前线程数据
show global status like ‘Thread_%’;
 示例图示
 
活跃连接数(Threadpool_active_connections):91
 活跃线程数(Threadpool_active_threads):1
 空闲线程数(Threadpool_idle_threads):103
 线程池是否在运行(Threadpool_running):开启(ON)
 线程数(Threadpool_threads):231
 等待中的线程数(Threadpool_waiting_threads):0
 缓存的线程数(Threads_cached):5
 连接的线程数(Threads_connected):103
 创建的线程数(Threads_created):6101121
 运行中的线程数(Threads_running):1
查询连接情况
show global variables like ‘%connection%’;
 
max_connections:同时连接客户端的最大数
 max_connections 还取决于操作系统对单进程允许打开最大文件数的限制
 也就是说如果操作系统限制单个进程最大可以打开100个文件
 那么 max_connections 设置为200也没什么用
 MySQL 的 open_files_limit 参数值是在MySQL启动时记录的操作系统对单进程打开最大文件数限制的值
 可以使用
 show variables like ‘open_files_limit’; 查看 open_files_limit 值
 或者直接在 Linux 下通过
 ulimit -n命令查看操作系统对单进程打开最大文件数限制 ( 默认为1024 )
 max_user_connections 单个MySQL用户最大并发连接数
 针对单个MySQL用户而言,所允许的最大并发连接数。默认值为0,表示没有限制。
查询缓存相关
查询表缓存相关
 SHOW GLOBAL STATUS LIKE ‘table%cache%’
 
 Table_open_cache_hits 表缓存命中次数
 Table_open_cache_misses 表缓存未命中次数
查询锁相关
SHOW GLOBAL STATUS LIKE ‘%lock%’
 
 Table_locks_immediate:能够立即获得表级锁的锁请求次数
 Table_locks_waited:不能立即获取表级锁而需要等待的锁请求次数
Innodb_row_lock_current_waits:当前锁等待的数量
 Innodb_row_lock_time:自系统启动到现在,锁定的总时间,单位:毫秒 ms。
 Innodb_row_lock_time_avg:平均锁定的时间,单位:毫秒 ms。
 Innodb_row_lock_time_max:最大锁定时间,单位:毫秒 ms。
 Innodb_row_lock_waits:自系统启动到现在,锁等待次数,即锁定的总次数。
查询增删改查执行次数
查询select执行次数
 show global status like ‘com_select%’;
 
 查询update次数
 show global status like ‘com_update%’;
 
 查询insert次数
 show global status like ‘com_insert%’;
 
 查询delete次数
 show global status like ‘com_delete%’;

查询DDL创建相关
create相关
show global status like ‘com_create%’;
 
Com_create_db 创建数据库个数
 Com_create_index 创建索引个数
 Com_create_table 创建表个数
 Com_create_view 创建视图个数
 Com_create_user 创建用户个数
 drop相关
 show global status like ‘com_create%’;
 
 alter相关
 show global status like ‘com_alter%’;
 