《Mysql – 透過MYTOP監控目前DB狀況 – 學習筆記》工具分享

Telegram share !

前一陣子朋友聚會中,有位朋友問說,在管理mysql server過程,除了使用MySQL Client定期監控processlist,還有沒有其他方式,經過我資料蒐集後發現,其實是有的,這套工具名稱叫mytop顧名思義就是MySQL+Top=mytop,於是就有了寫這篇文章的契機,這個問題我相信很多Mysql的管理人員都會需要此工具來做輔助,就趁這次教學把設定與驗證過程中記錄下來,也希望藉由此次分享讓系統管理者能更快掌握資料庫主機目前的狀況。

可以透過套件管理工具來進行安裝

❯ apt install mytop

環境設定

1.一次性監控可以透過mytop –prompt

mytop 互動式輸入

> mytop --prompt
or
> mytop -u root --prompt

2.永久性監控可以透過mytop 設定檔案

mytop 設定檔

❯ vim ~/.mytop

.mytop 內容

user=username #輸入一個可以讀取processlist的帳號
pass=password #輸入該用戶的密碼
host=localhost
db=mysql #代表監看所有的DB
delay=5 #多久要更新資料
port=3306
socket=
batchmode=0
header=1
color=1
idle=1

執行mytop

❯ mytop
MySQL on localhost (5.7.36)                                                                          load 0.20 0.22 0.09 2/588 1651565 up 3+16:37:01 [08:35:47]
 Queries: 43.4M    qps:  143 Slow:     0.0         Se/In/Up/De(%):    24/00/00/00 
 Sorts:      0 qps now:    1 Slow qps: 0.0  Threads:    1 (   1/   8) 00/00/00/00 
 Key Efficiency: 95.0%  Bps in/out:  8.9k/28.1M   Now in/out:  22.6/ 2.7k

       Id      User         Host/IP         DB       Time    Cmd    State Query                                                                                
       --      ----         -------         --       ----    ---    ----- ----------                                                                           
    96543      root       localhost      mysql          0  Query starting show full processlist                                                                

最後記得把.mytop檔案權限設定成600會比較安全,詳細的設定參數可以參考man mytop,以上。

Reference