使用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);\
}}'

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端