简易的MySQL性能查询脚本-最佳实践

 

#!/bin/bash

 

mysqladmin -h127.0.0.1 -P3306 -uroot -p123456  -r -i 1 ext |\

awk -F"|" \

"BEGIN{ count=0; }"\

'{ if($2 ~ /Variable_name/ && ((++count)%20 == 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);\

}}'

 

输出如下:

创建时间:2021-12-22 11:00
浏览量:0