使用mysqladmin ext
mysqladmin extended-status(可以使用ext代替)。
加上参数-r(--relative),就可以看到各个指标的差值,配合参数-i(--sleep)就可以指定刷新的频率,那么就有如下命令:
mysqladmin -uroot -pmysql123 ext -i 5 | awk '/Queries/{q=$4-qp;qp=$4} /Threads_connected/{tc=$4} /Threads_running/{printf "%5d %5d %5d\n" ,q, tc,$4}'

mysqladmin -P13306 -uroot -p -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);\}}'

浙公网安备 33010602011771号