為了資料安全,限制 MySQL 僅監聽內網 IP(如 192.168.1.100)或本地回環(127.0.0.1),拒絕公網直接存取。
[mysqld]
bind-address = 127.0.0.1
# 或
bind-address = 192.168.1.100
重啟生效:service mysql restart
vi /etc/init.d/mysql
# 找到 mysqld_safe 啟動行,追加:
$bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file \
--bind-address=127.0.0.1 &
netstat -ltn | grep 3306
# 輸出應顯示:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
# 或
ss -ltn | grep 3306
bind-address 僅接受單一 IP;需多 IP 監聽請設 0.0.0.0 再用防火牆限制。my.ini 同樣支援 bind-address。skip-networking,將完全關閉 TCP/IP,僅允許 Socket/命名管道連線(最高安全性)。ERROR 1130 (HY000): Host 'x.x.x.x' is not allowed to connect,確認生效。