1. 程式人生 > >Mysql3306埠被佔用,妙招輕鬆解決

Mysql3306埠被佔用,妙招輕鬆解決

早晨發現mysql伺服器意外停止服務,造成網站無法開啟,檢視mysql日誌(注:該日誌在msyql安裝目錄下data資料夾裡,檔名是機器名.err,該檔案可用記事本開啟)發現如下問題;

120525  3:35:48  InnoDB: Starting shutdown...

120525  3:35:51  InnoDB: Shutdown completed; log sequence number 0 11838312

120525  3:35:51 [Note] D:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt: Shutdown complete

120525  4:01:57  InnoDB: Started; log sequence number 0 11838312

120525  4:01:57 [ERROR] Do you already have another mysqld server running on port: 3306 ?

120525  4:01:57 [ERROR] Aborting

經過檢查發現,33548秒系統進行資料庫備份計劃任務關閉了mysql服務,備份完成後也就是40157mysql開始啟動,[ERROR] Do you already have another mysqld server running on port: 3306 ?

該報錯說明在mysql服務在關閉到重啟這段時間內有其他程式佔用了3306埠導致mysql服務無法啟動。

找到了mysql停止的原因,下一步就是查詢幕後的凶手了,到底是誰在這段時間裡佔用了mysql3306埠呢?下面我就詳細介紹你個常用的方法。

第一種方法:

在開始選單中單擊執行輸入cmd開啟命令提示符視窗輸入netstat -b
找到你要找的埠  localaddress 那一列就是你本機開啟的埠找到:後面是80813306的那行然後記下PID那列相應的數
工作列上點右鍵開啟工作管理員,選檢視”--“選擇列”--勾上PID(程序識別符號)確定
然後單擊工作管理員的程序選項卡找到PID是你剛才記下的那兩個數
就能找到佔用這兩個埠的程序了
第二種方法:
CMD中輸入netstat -ano命令,有對應的埠好和程序ID 再執行tasklist命令
會出現ID對應的程序。查下這個程序就可以了
第三種方法:

藉助其他工具軟體,比如windows優化大師 裡面有個叫程序管理的工具,但是一般不建議使用,伺服器上為了安全起見,能不安裝的軟體儘量不要安裝,多安一個軟體就多了一分被入侵或攻擊的危險,所以其他軟體儘量不要安裝。