首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 錯誤 2003:Can't connect to MySQL server on localhost 完整排查手冊

     編輯:MySQL 資料庫相關知識

錯誤代碼

2003 - 無法連線至 MySQL 伺服器。

可能原因分類

類別典型原因
服務狀態MySQL 服務未啟動、異常停止
資源耗盡磁碟空間不足、記憶體耗盡、TCP 埠耗盡
配置錯誤my.ini 中 basedir/datadir 路徑錯誤
網路/防火牆本機防火牆阻擋 3306 埠、TCP/IP 協定未啟用
客戶端參數連線字串 Host 錯誤(應為 localhost 或 127.0.0.1)

分環境排查步驟

虛擬主機/共享主機用戶

  1. 聯繫空間商確認 MySQL 服務狀態。
  2. 核對連線資訊:Host 是否為 localhost、埠號是否 3306、帳密正確。

獨立主機/VPS 管理員

  1. 檢查服務狀態:
    • Windows: services.msc → MySQL → 狀態「已啟動」。
    • Linux: service mysql status 或 systemctl status mysqld,若停止執行 service mysql start。
  2. 檢查磁碟空間: df -h (Linux) / 我的電腦屬性 (Windows),確保數據目錄分區有充足剩餘空間(建議 > 20%)。
  3. 核對 my.ini/my.cnf 關鍵路徑:
    [mysqld]
    basedir = C:/Program Files/MySQL/MySQL Server 5.7
    datadir = C:/ProgramData/MySQL/MySQL Server 5.7/Data
    port = 3306
    
    路徑需與實際安裝目錄一致,修改後重啟服務。
  4. Windows 高併發場景優化(參考 KB967723):
    • 登錄 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    • 新增/修改 DWORD MaxUserPort = 65534 (十進位)
    • 新增/修改 DWORD TcpTimedWaitDelay = 30–60 (秒)
    • 重啟主機生效。
  5. 查看錯誤日誌: 數據目錄下 hostname.err,搜尋 ERROR 關鍵字定位具體故障。

快速驗證連線

# 本機測試
mysql -u root -p -h 127.0.0.1 -P 3306

# 網路層測試
telnet 127.0.0.1 3306
# 或
nc -zv 127.0.0.1 3306

相關延伸閱讀

  • 微軟補丁 KB967723 導致 MySQL 斷連解決方案(本站文章 ID 89211)
  • MySQL 服務啟動失敗錯誤 1067 排查(本站文章 ID 89213)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved