前言
使用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';