《DBA登入服務器后應該先關注啥》要點:
本文介紹了DBA登入服務器后應該先關注啥,希望對您有用。如果有疑問,可以聯系我們。
導讀
DBA登入后,應該關注系統的幾個基本狀態,做到心中有數.
雖然現在都在推廣自動化運維,不過有些時候還是需要登入到服務器去做些事情.那么,在有限的幾次登入服務器機會中,作為DBA應該關注哪些事情呢?
1、檢查除了自己以外,還有誰也登入到服務器上
一方面是查看還有哪些管理員在服務器上,自己的某些操作是否會影響到對方.比如有些潔癖重度患者會把 /tmp 下的臨時文件刪掉,或者清除一些看到的臨時文件,而這些文件沒準就是其他管理員臨時生成的.
另外,這個習慣也能幫助我們消除一些安全隱患,比如看到某些管理員從不該被允許的遠程IP登入進來,甚至是有些管理員直接從本地tty終端登入進來工作后,忘記關閉終端,直接關閉顯示器,這種情況下在IDC值守的人,接上鍵盤就可以長驅直入無需賬號密碼.就像下面這樣的:
第一列表示登錄用戶名;第二列表示登錄終端,tty表示本地終端,pts表示遠程終端;第三列表示登錄時間、IP地址.
遇到這種情況,先找到這個login bash的進程ID,用 lsof 查看是否有打開文件來確認這個進程當前沒有進行重要操作,確認沒問題的話,就可以把這個進程給 kill 了,這個登入也自然會退出.
2、檢查系統整體負載以及整體狀況
了解系統當前負載情況,對比之前同時段登入時的系統負載情況,直觀感覺系統負載是否有大幅波動,或者判斷系統負載是否超過平均的負載值,以便及時處理.
3、找到消耗CPU、內存資源最多的進程
如果當前系統運行多個mysqld進程,或者MySQL和Nginx、PHP、java等混跑的話,可以查看哪個進程消耗較多資源.
如果是某個mysqld進程消耗的CPU長期超過100%,那么10有89的有可能是因為當前執行的SQL沒有索引,或者索引使用不當導致.
4、查看MySQL中是否有耗時較久的請求
查看當前MySQL中是否有某些狀態持續較長時間,比如Sending data、Coping to tmo table、Creating sort index等狀態,一旦處于這些狀態的SQL經常出現,那么幾乎肯定是需要進行優化了.
說了這么多,肯定有同學按捺不住了.別著急嘛,老葉已經把這些關注點都整到一個shell腳本里了,大家可以訪問我的github查看,也歡迎補充,說說你們登入服務器后,最關注哪些東西,并且會先做哪些事情.
github地址:https://github.com/zhishutech/mysqldba/blob/master/scripts/dba_login.sh
我們可以把這個腳本放在DBA工具專用目錄下,然后在 /etc/profile 中增加類似下面這樣一行,每次登入后就都會調用腳本執行了:
我之前寫過類似腳本,但找不到了,這是昨晚臨時隨手重寫了個,還有很多不完善的.也當做是拋磚引玉了,希望大家繼續來補充完善.
下面是登入MySQL服務器后的提示
文章來自微信公眾號:老葉茶館
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/4090.html