注意
以下命令都按照mysql8.0版本的输出和日志格式,如果输出和格式不一致,需自行调整awk,awk语法可自行百度,谨记!!!
每秒输出一次show global status输出
mysqladmin -uroot -p ext -i1 | awk '
/Queries/{q=$4-qp;qp=$4}
/Threads_connected/{tc=$4}
/Threads_running/{printf "%5d %5d %5d\n", q, tc, $4}'
计算show processlist每一种状态出现的次数,并按次数排序
mysql -uroot -p -e 'show processlist' | grep State: | sort | uniq -c | sort -rn
通过查询日志计算每秒的查询次数
[root@www mysql]# cat www.log |grep Query |awk -F: '{sum[$1":"$2]++}END{for(i in sum)print i,sum[i]}' | sort $1
2019-09-28T08:24 8
2019-09-28T08:25 1
2019-09-28T08:26 1
2019-09-28T08:29 3
2019-09-28T08:30 6
2019-09-28T08:31 2
2019-09-28T08:36 4
2019-09-28T08:39 1
2019-09-28T08:41 1
2019-09-28T09:00 7
[root@www mysql]#
通过慢查询日志计算每秒慢查询次数
[root@www mysql]# cat www-slow.log |grep Time: | awk -F: '{sum[$2":"$3]++}END{for(i in sum)print i, sum[i]}' | sort$1
2019-09-28T08:33 1
2019-09-28T08:39 1
2019-09-28T08:41 1
2019-09-28T09:00 6
后续有用到的会继续补充