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

MySQL 綁定指定 IP 監聽:bind-address 配置與啟動腳本修改兩種實現方式

     編輯:MySQL 綜合教學

方法一:配置文件法(推薦、持久化)

[mysqld]
bind-address = 127.0.0.1
# 或具體業務 IP,如 192.168.1.10
# 0.0.0.0 表示監聽所有介面(默認)

修改後 systemctl restart mysqld 生效。

方法二:啟動腳本參數法(臨時/舊版兼容)

# 編輯 /etc/init.d/mysql 或 systemd unit
# 找到啟動行,追加 --bind-address
$bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file --bind-address=127.0.0.1 &

重啟服務:/etc/init.d/mysql restart

驗證生效

netstat -ltn | grep 3306
# 預期輸出
tcp  0  0 127.0.0.1:3306  0.0.0.0:*  LISTEN

# 或
ss -ltn 'sport = :3306'

安全最佳實踐

  • 生產庫僅綁定內網 IP,拒絕公網直連
  • 配合 require_secure_transport=ON 強制 TLS
  • 應用層走 SSH 隧道 / VPN / Private Link 訪問
  • 防火牆 iptables -A INPUT -s 10.0.0.0/8 -p tcp --dport 3306 -j ACCEPT 白名單

多實例場景

[mysqld3307]
bind-address = 192.168.1.10
port = 3307
datadir = /data/mysql3307
socket = /tmp/mysql3307.sock

bind-address 僅控制 TCP 監聽,Unix Socket(localhost 連線)不受影響。若需完全禁用 TCP,可設 skip-networking 僅保留 Socket。

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