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

MySQL 遠程連接「Lost connection at reading initial communication packet」一鍵修復

     編輯:MySQL 資料庫相關知識

錯誤現象

Lost connection to MySQL server at 'reading initial communication packet', system error: 0

連接初始化階段即斷開,非認證失敗。

根因

MySQL 預設配置未針對遠程連接優化,常見兩項缺失:

  1. bind-address = 127.0.0.1 綁定本地回環,拒絕外部連接
  2. 缺少 skip-name-resolve,導致連接時嘗試反向 DNS 解析客戶端 IP,超時中斷

修復步驟 (Ubuntu 示例,其他發行版路徑自適配)

  1. 編輯配置:vim /etc/mysql/my.cnf
  2. 若存在 bind-address = 127.0.0.1,註釋掉:# bind-address = 127.0.0.1
  3. 在 [mysqld] 區塊新增:skip-name-resolve
  4. 保存並重啟:/etc/init.d/mysql restart

驗證

# 遠程客戶端
mysql -h 192.168.x.x -u user -p
# 應可正常進入 mysql> 提示符

補充說明

  • skip-name-resolve 生效後,授權表 mysql.user 的 Host 列只能用 IP,不再支援主機名
  • 若需保留主機名授權,請確保 DNS 正常並調大 connect_timeout
  • 防火牆/安全組需放行 3306 端口
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved