1.查看innodb_trx中处于running事务的个数
SELECT LOWER(REPLACE(trx_state, " ", "_")) AS state, count(*) AS cnt from information_schema.INNODB_TRX GROUP BY state;
running
lock_wait
rolling_back
committing
2.查看数据库大小
select truncate(sum(data_length)/1024/1024/1024,2) + truncate(sum(index_length)/1024/1024/1024,2) as data_size from information_schema.tables;
3.查看每个IP连接数据库的数量
select substring_index(host, ':',1) ip, count(*) from information_schema.processlist group by db, ip;
4.锁等时长超过30秒的会话个数
select count(*) from sys.innodb_lock_waits where wait_age_secs>30;
5.10分钟未提交的事务
select count(*) from information_schema.innodb_trx where trx_is_read_only = 0 and trx_started <= subdate(now(),interval 10 minute);
6.执行时间超过3小时的会话个数
select count(*) from information_schema.processlist where user not in ('system user','repl') and time > 10800 and command not in ('Binlog Dump GTID','Binlog Dump','Sleep','Daemon','Time');