国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

使用mysqladmin檢測MySQL運行狀態(tài)的教程

2020-01-18 22:52:14
字體:
來源:轉載
供稿:網友

mysqladmin是MySQL一個重要的客戶端,最常見的是使用它來關閉數(shù)據(jù)庫,除此,該命令還可以了解MySQL運行狀態(tài)、進程信息、進程殺死等。本文介紹一下如何使用mysqladmin extended-status(因為沒有"歧義",所以可以使用ext代替)了解MySQL的運行狀態(tài)。


1. 使用-r/-i參數(shù)

使用mysqladmin extended-status命令可以獲得所有MySQL性能指標,即show global status的輸出,不過,因為多數(shù)這些指標都是累計值,如果想了解當前的狀態(tài),則需要進行一次差值計算,這就是mysqladmin extended-status的一個額外功能,非常實用。默認的,使用extended-status,看到也是累計值,但是,加上參數(shù)-r(--relative),就可以看到各個指標的差值,配合參數(shù)-i(--sleep)就可以指定刷新的頻率,那么就有如下命令:

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使用

配合grep使用,我們就有:

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使用

使用awk,同時輸出時間信息:

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. 配合復雜一點的awk

反正也不簡單了,那就更復雜一點,這樣讓輸出結果更友好點,因為awk不支持動態(tài)變量,所以代碼看起來比較復雜:

mysqladmin -P3306 -uroot -p -h127.0.0.1 -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);/}}'----------|---------|--- 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

就這樣了,這幾個命令自己用的比較多,隨手分享出來。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 江达县| 大同县| 肃南| 鄯善县| 北海市| 平安县| 通渭县| 永春县| 广昌县| 晋宁县| 梅河口市| 措美县| 彭阳县| 朔州市| 资源县| 绥德县| 普兰县| 罗甸县| 崇州市| 阿荣旗| 平陆县| 固始县| 汉沽区| 澄迈县| 昔阳县| 津南区| 林州市| 邵阳县| 天全县| 兴业县| 开化县| 福清市| 灵台县| 德保县| 霍州市| 双牌县| 揭西县| 黄平县| 建始县| 冷水江市| 丁青县|