如下:
#!/bin/shmysqladmin -P3306 -uroot -p'password' -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 %11dn",innodb_lor,innodb_phr);}}'
输出如下:
这个脚本主要利用了mysqladmin提供的功能
-r, --relative Show difference between current and previous values when used with -i. Currently only works with extended-status.
extended-status Gives an extended status message from the server
ext是extended-status的缩写~