首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Ubuntu MySQL 遠程連接失敗?一招修改 bind-address 解決

     編輯:MySQL 綜合教學

Ubuntu 10.04 安裝 MySQL 後本地正常、授權也對、防火牆也開了,但 Windows 客戶端死活連不上。罪魁禍首是 bind-address = 127.0.0.1 綁死本地回環。

故障現場

  • netstat -an | grep 3306 顯示 127.0.0.1:3306 LISTEN,未監聽 0.0.0.0 或實際 IP。
  • ufw status 防火牆未啟用,iptables 已放行 3306。
  • 用戶授權 admin@'%' 正確,information_schema.user_privileges 可見。

根因

/etc/mysql/my.cnf 默認配置:

[mysqld]
bind-address = 127.0.0.1

導致 MySQL 僅在回環接口監聽,外部 TCP SYN 直接被內核丟棄,MySQL 甚至收不到連接請求。

解決方案

  1. 編輯 /etc/mysql/my.cnf,修改:
bind-address = 0.0.0.0
# 或具體 IP:bind-address = 192.168.0.xxx
  1. 重啟服務:service mysql restart
  2. 驗證:netstat -an | grep 3306 應顯示 0.0.0.0:3306 LISTEN 或指定 IP。
  3. 遠程客戶端測試連接成功。

安全補充

  • 生產環境不要直接暴露 3306 到公網,建議:
  • VPN/SSH 隧道跳板機訪問。
  • 安全組/防火牆限制來源 IP 段。
  • 啟用 SSL 加密傳輸(require_secure_transport=ON)。
  • 使用強密碼、定期輪換、最小權限賬號。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved