《Mysql應用Linux中使用mysqladmin extended-status配合Linux命令查看MySQL運行狀態》要點:
本文介紹了Mysql應用Linux中使用mysqladmin extended-status配合Linux命令查看MySQL運行狀態,希望對您有用。如果有疑問,可以聯系我們。
mysqladmin是MySQL一個重要的客戶端,最常見的是使用它來關閉數據庫,除此,該命令還可以了解MySQL運行狀態、進程信息、進程殺死等.本文介紹一下如何使用mysqladmin extended-status(因為沒有"歧義",所以可以使用ext代替)了解MySQL的運行狀態.MYSQL實例
1. 使用-r/-i參數MYSQL實例
使用mysqladmin extended-status命令可以獲得所有MySQL性能指標,即show global status的輸出,不過,因為多數這些指標都是累計值,如果想了解當前的狀態,則需要進行一次差值計算,這就是mysqladmin extended-status的一個額外功能,非常實用.默認的,使用extended-status,看到也是累計值,但是,加上參數-r(--relative),就可以看到各個指標的差值,配合參數-i(--sleep)就可以指定刷新的頻率,那么就有如下命令:
MYSQL實例
代碼如下:
mysqladmin -uroot -r -i 1 -pxxx extended-status
+------------------------------------------+----------------------+
| Variable_name??????????????????????????? | Value??????????????? |
+------------------------------------------+----------------------+
| Aborted_clients????????????????????????? | 0??????????????????? |
| Com_select?????????????????????????????? | 336????????????????? |
| Com_insert?????????????????????????????? | 243????????????????? |
......
| Threads_created????????????????????????? | 0??????????????????? |
+------------------------------------------+----------------------+
2. 配合grep使用MYSQL實例
配合grep使用,我們就有:
MYSQL實例
代碼如下:
mysqladmin -uroot -r -i 1 -pxxx extended-status \
|grep "Questions\|Queries\|Innodb_rows\|Com_select \|Com_insert \|Com_update \|Com_delete "
| Com_delete?????????????????????????????? | 1??????????????????? |
| Com_delete_multi???????????????????????? | 0??????????????????? |
| Com_insert?????????????????????????????? | 321????????????????? |
| Com_select?????????????????????????????? | 286????????????????? |
| Com_update?????????????????????????????? | 63?????????????????? |
| Innodb_rows_deleted????????????????????? | 1??????????????????? |
| Innodb_rows_inserted???????????????????? | 207????????????????? |
| Innodb_rows_read???????????????????????? | 5211???????????????? |
| Innodb_rows_updated????????????????????? | 65?????????????????? |
| Queries????????????????????????????????? | 2721???????????????? |
| Questions??????????????????????????????? | 2721???????????????? |
3. 配合簡單的awk使用MYSQL實例
使用awk,同時輸出時間信息:
MYSQL實例
代碼如下:
mysqladmin -uroot -p -h127.0.0.1 -P3306 -r -i 1 ext |\
awk -F"|" '{\
? if($2 ~ /Variable_name/){\
??? print " <-------------??? "? strftime("%H:%M:%S") "??? ------------->";\
? }\
? if($2 ~ /Questions|Queries|Innodb_rows|Com_select |Com_insert |Com_update |Com_delete |Innodb_buffer_pool_read_requests/)\
??? print $2 $3;\
}'
<-------------??? 12:38:49??? ------------->
?Com_delete???????????????????????????? 0
?Com_insert???????????????????????????? 0
?Com_select???????????????????????????? 0
?Com_update???????????????????????????? 0
?Innodb_buffer_pool_read_requests?????? 589
?Innodb_rows_deleted??????????????????? 0
?Innodb_rows_inserted?????????????????? 2
?Innodb_rows_read?????????????????????? 50
?Innodb_rows_updated??????????????????? 50
?Queries??????????????????????????????? 105
?Questions????????????????????????????? 1
?<-------------??? 12:38:50??? ------------->
?Com_delete???????????????????????????? 0
?Com_insert???????????????????????????? 0
?Com_select???????????????????????????? 0
?Com_update???????????????????????????? 0
?Innodb_buffer_pool_read_requests?????? 1814
?Innodb_rows_deleted??????????????????? 0
?Innodb_rows_inserted?????????????????? 0
?Innodb_rows_read?????????????????????? 8
?Innodb_rows_updated??????????????????? 8
?Queries??????????????????????????????? 17
?Questions????????????????????????????? 1
4. 配合復雜一點的awkMYSQL實例
反正也不簡單了,那就更復雜一點,這樣讓輸出結果更友好點,因為awk不支持動態變量,所以代碼看起來比較復雜:
MYSQL實例
代碼如下:
mysqladmin -P3306 -uroot -p -h127.0.0.1 -r -i 1 ext |\
awk -F"|" \
"BEGIN{ count=0; }"\
'{ if($2 ~ /Variable_name/ && ++count == 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);\
}}'
代碼如下:
----------|---------|--- MySQL Command Status --|----- Innodb row operation ----|-- Buffer Pool Read --
---Time---|---QPS---|select insert update delete|? read inserted updated deleted|?? logical??? physical
?10:37:13 |???? 2231|?? 274??? 214???? 70????? 0|? 4811????? 160????? 71?????? 0|????? 4146?????????? 0
?10:37:14 |???? 2972|?? 403??? 256???? 84???? 23|? 2509????? 173????? 85????? 23|????? 4545?????????? 0
?10:37:15 |???? 2334|?? 282??? 232???? 66????? 1|? 1266????? 154????? 67?????? 1|????? 3543?????????? 0
?10:37:15 |???? 2241|?? 271??? 217???? 66????? 0|? 1160????? 129????? 66?????? 0|????? 2935?????????? 0
?10:37:17 |???? 2497|?? 299??? 224???? 97????? 0|? 1141????? 149????? 95?????? 0|????? 3831?????????? 0
?10:37:18 |???? 2871|?? 352??? 304???? 74???? 23|? 8202????? 226????? 73????? 23|????? 6167?????????? 0
?10:37:19 |???? 2441|?? 284??? 233???? 82????? 0|? 1099????? 121????? 78?????? 0|????? 3292?????????? 0
?10:37:20 |???? 2342|?? 279??? 242???? 61????? 0|? 1083????? 224????? 61?????? 0|????? 3366?????????? 0
就這樣了,這幾個命令本身用的比較多,隨手分享出來.MYSQL實例
《Mysql應用Linux中使用mysqladmin extended-status配合Linux命令查看MySQL運行狀態》是否對您有啟發,歡迎查看更多與《Mysql應用Linux中使用mysqladmin extended-status配合Linux命令查看MySQL運行狀態》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/13138.html