一个简便易用的MySQL性能查询脚本

本篇文章重点为大家分享一个MySQL性能查询脚本,有需要的小伙伴可以参考一下。

#!/bin/sh
mysqladmin -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 %11d\n",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的缩写~

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/222529.html<

(0)
运维的头像运维
上一篇2025-04-15 13:12
下一篇 2025-04-15 13:14

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注