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

MySQL Can't connect to localhost (10061) 完整排查手冊

     編輯:MySQL 資料庫相關知識

經典連接失敗錯誤,原因通常是服務未啟動、配置錯誤或系統補丁衝突。本文提供分級排查清單。

快速自查清單

  1. 服務狀態:net start mysql 或服務管理器啟動
  2. 端口佔用:netstat -ano | findstr 3306
  3. 配置文件:my.ini 中 basedir/datadir 路徑正確性
  4. 磁盤空間:df -h / 資源管理器確認
  5. Hosts 文件:127.0.0.1 localhost 存在且未被註釋

深度修復方案(Windows)

方案一:重置服務註冊

# 刪除 C:\Windows\my.ini(若存在)
# 以管理員運行
cd C:\mysql\bin
winmysqladmin.exe  # 設置賬號密碼
mysqld-nt --remove
mysqld-nt --install
net start mysql

方案二:KB967723 補丁衝突(高發)

微軟 TCP/IP 安全補丁導致 MySQL 通信異常。卸載步驟:

  1. 控制面板 → 程序和功能 → 查看已安裝更新
  2. 搜索 KB967723 → 卸載 → 重啟服務器

注意:卸載安全補丁有風險,建議改用方案一或升級 MySQL 版本。

方案三:max_connections 耗盡

# my.ini 調大
max_connections = 1000
# 重啟服務

Linux 環境排查

# 檢查進程
ps aux | grep mysql
# 檢查錯誤日志
tail -f /var/log/mysql/error.log
# 檢查端口
ss -tlnp | grep 3306
# SELinux/AppArmor 可能攔截

密碼相關誤區

  • mysqladmin version 需帶認證:mysqladmin -uroot -p version
  • 修改密碼:mysqladmin -uroot -p password 'newpass'
  • 忘記 root 密碼:--skip-grant-tables 啟動 → 更新 mysql.user 表 → FLUSH PRIVILEGES

應用層連接池配置

檢查應用連接池:最大連接數、超時時間、驗證查詢(SELECT 1),避免連接洩漏導致資源耗盡。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved