為安全考量,生產環境 MySQL 應僅監聽必要介面(如 127.0.0.1 或內網 IP)。本文說明透過 my.cnf 與啟動腳本兩種方式設定 bind-address。
[mysqld]
bind-address = 127.0.0.1
或指定內網 IP:
bind-address = 192.168.1.100
修改後重啟 MySQL:
systemctl restart mysqld
# 或
service mysql restart
/etc/init.d/mysqlstart) 區塊的 mysqld_safe 行--bind-address=127.0.0.1$bindir/mysqld_safe --datadir=$datadir \
--pid-file=$pid_file \
--bind-address=127.0.0.1 &
重啟:/etc/init.d/mysql restart
netstat -tlnp | grep mysql
# 或
ss -tlnp | grep mysql
預期輸出:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1234/mysqld
✅ 僅顯示 127.0.0.1:3306 表示成功限制監聽介面。
127.0.0.1 後,**外部機器無法直接連線**,需透過 SSH Tunnel 或應用同機部署bind-address = * 或多行 bind-addresshost vs bridge)