[root@VM-0-15-centos ~]# cat mysql-detail-status.sh
#!/bin/bash
mysqladmin -uroot -proot -r -i 1 ext |/
awk -F"|" /
"BEGIN{ count=0; }"/
'{ if($2 ~ /Variable_name/ && ++count == 1){/
print "----------|---------|--- MySQL Command Status --|----- Innodb row operation ----|-- Buffer Pool Read --";/
print "---Time---|---QPS---|select insert update delete| read inserted updated deleted| logical physical";/
}/
else if ($2 ~ /Queries/){queries=$3;}/
else if ($2 ~ /Com_select /){com_select=$3;}/
else if ($2 ~ /Com_insert /){com_insert=$3;}/
else if ($2 ~ /Com_update /){com_update=$3;}/
else if ($2 ~ /Com_delete /){com_delete=$3;}/
else if ($2 ~ /Innodb_rows_read/){innodb_rows_read=$3;}/
else if ($2 ~ /Innodb_rows_deleted/){innodb_rows_deleted=$3;}/
else if ($2 ~ /Innodb_rows_inserted/){innodb_rows_inserted=$3;}/
else if ($2 ~ /Innodb_rows_updated/){innodb_rows_updated=$3;}/
else if ($2 ~ /Innodb_buffer_pool_read_requests/){innodb_lor=$3;}/
else if ($2 ~ /Innodb_buffer_pool_reads/){innodb_phr=$3;}/
else if ($2 ~ /Uptime / && count >= 2){/
printf(" %s |%9d",strftime("%H:%M:%S"),queries);/
printf("|%6d %6d %6d %6d",com_select,com_insert,com_update,com_delete);/
printf("|%6d %8d %7d %7d",innodb_rows_read,innodb_rows_inserted,innodb_rows_updated,innodb_rows_deleted);/
printf("|%10d %11d/n",innodb_lor,innodb_phr);/
}}'
执行脚本结果如下:

在配合show process可以找到占用cpu较大的sql

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/244826.html