mysql监控指标

本文介绍MySQL数据库监控方法,包括最大连接数、当前连接数及正在处理的连接数监控;通过InnoDB引擎查看死锁和阻塞;配置慢查询,设置记录慢查询的时间阈值和记录未使用索引的SQL语句。

1.最大连接数监控

show VARIABLES like "max_connections";  //最大连接数

show global status like 'Threads_connected'; //当前连接数

show global status like 'Threads_running'; //正在处理的连接数

show global status like 'Thread%'; //查看进行情况

 

2.死锁或者阻塞监控

innodb引擎查看死锁语句
select b.trx_mysql_thread_id AS '被阻塞线程',
b.trx_query AS '被阻塞SQL',
c.trx_mysql_thread_id AS '阻塞线程',
(UNIX_TIMESTAMP()-UNIX_TIMESTAMP(c.trx_started)) AS '阻塞时间'
from information_schema.INNODB_LOCK_WAITS a
join information_schema.INNODB_TRX b on a.requesting_trx_id =b.trx_id
join information_schema.INNODB_TRX c on a.blocking_trx_id=c.trx_id
where (UNIX_TIMESTAMP()-UNIX_TIMESTAMP(c.trx_started))>60;

 

 3.慢查询配置

-- 打开sql执行记录功能
set global log_output='TABLE';                             -- 输出到表
set global log=ON;                                                -- 打开所有命令执行记录功能general_log, 所有语句: 成功和未成功的.
set global log_slow_queries=ON;                        -- 打开慢查询sql记录slow_log, 执行成功的: 慢查询语句和未使用索引的语句
set global long_query_time=0.1;                          -- 慢查询时间限制(秒)
set global log_queries_not_using_indexes=ON;  -- 记录未使用索引的sql语句


-- 查询sql执行记录
select * from mysql.slow_log order by 1;           -- 执行成功的:慢查询语句,和未使用索引的语句
select * from mysql.general_log order by 1;      -- 所有语句:  成功和未成功的.


-- 关闭sql执行记录
set global log=OFF;
set global log_slow_queries=OFF;

 

转载于:https://www.cnblogs.com/zipon/p/9420787.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值