1. 程式人生 > >查看MySQL的線程運行情況

查看MySQL的線程運行情況

nec span 結果 實時 col class 線程 解決辦法 現在

使用管理員用戶運行命令:

mysql> show [full] processlist; # full是可選的,如果不加,默認只顯示前100條結果。

可以靠這個結果來分析一些諸如用戶連接狀況之類的信息。譬如我當初用Navicat去連公司的遠程數據庫服務器,出現如下報錯:

Lost connection to MySQL server at ‘waiting for initial communication packet‘, system error: 0

經查閱資料,發現在以IP地址連接MySQL時,MySQL默認會通過該地址去解析訪問者的主機名。如果沒有配置DNS等服務,就會在不斷嘗試解析的過程中超時,造成上面的錯誤。

簡單的解決辦法是在MySQL服務器的 /etc/hosts 中添加一條訪問者的 IP<>主機名 映射,這樣就能正確解析出主機名,完成數據庫連接。

只是我公司的內網環境復雜,在沒有網管人員協助的情況下,難以定位最終的訪問IP。這時就可以通過 show [full] processlist; 實時追蹤線程來分析出正確的IP地址。

查看MySQL的線程運行情況