[mysql]状态检查常用SQL

前言

使用MySQL自身命令获取数据库服务状态。

连接数

-- 最大使用连接数
show status like 'Max_used_connections';
-- 系统配置的最大连接数
show global variables like '%max_connections';
-- 当前打开的连接数
show status like 'Threads_connected';

缓存

-- 未从缓冲池读取的次数
show status like 'Innodb_buffer_pool_reads';
-- 从缓冲池读取的次数
show status like 'Innodb_buffer_pool_read_requests';
-- 缓冲池的总页数
show status like 'Innodb_buffer_pool_pages_total';
-- 缓冲池空闲的页数
show status like 'Innodb_buffer_pool_pages_free';
-- 缓存命中率
-- (1-Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests)*100%
-- 缓存池使用率
-- ((Innodb_buffer_pool_pages_total-Innodb_buffer_pool_pages_free)/Innodb_buffer_pool_pages_total)*100%

-- 锁等待个数
show status like 'Innodb_row_lock_waits';
-- 平均每次锁等待时间
show status like 'Innodb_row_lock_time_avg';
-- 是否存在表锁
show open TABLES where in_use>0;

慢查询日志

-- 是否开启慢查询。开启命令:set global slow_query_log=1
show variables like 'slow_query_log';
-- 查看慢查询的阈值
show variables like 'long_query_time';
-- 查看 mysql 慢 sql 目录
show variables like 'slow_query_log_file';
  • 使用命令行查看耗时最长的10个SQL语句
# 查看耗时最长的10个SQL语句
mysqldumpslow -s at -t 10 /var/log/mysql/slow.log
# 查看

未分类

-- insert数量
show status like 'Com_insert';
-- delete 数量
show status like 'Com_delete';
-- update 数量
show status like 'Com_update';
-- select 数量
show status like 'Com_select';
-- 发送吞吐量
show status like 'Bytes_sent';
-- 接收吞吐量
show status like 'Bytes_received';
posted @ 2023-03-04 14:36  花酒锄作田  阅读(46)  评论(0编辑  收藏  举报