過去查詢MySQL的時候,都見3306對所有端口開放著,感覺不安全。
netstat -anlp | grep MySQL
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 638/MySQLd
unix 2 [ ACC ] STREAM LISTENING 12305521 638/mysqld /tmp/MySQL.sock
當然,也想過用Iptables來實現,不過好像還是不行。
iptables -A INPUT -p tcp -s $ANY --dport 3306 -j DROP
引用Chinaunix文章所說:
*安全配置* 為了數據的安全,可以考慮讓MySQL只守候在127.0.0.1上,這樣從Internet上就無法直接訪問數據庫了。 修改/etc/init.d/mysql文件 在start部分找到類似下面這行 $bindir/MySQLd_safe --datadir=$datadir --pid-file=$pid_file &修改成
$bindir/MySQLd_safe --datadir=$datadir --pid-file=$pid_file --bind-address=127.0.0.1 &重起MySQL
/etc/init.d/MySQL restart最後netstat -l確認一下:
tcp 0 0 localhost:MySQL *:* LISTENOK
而我修改/etc/init.d/mysq,找到:
把原先的
$bindir/MySQLd_safe --datadir=$datadir --pid-file=$pid_file >/dev/null 2>&1 &
$bindir/MySQLd_safe --datadir=$datadir --pid-file=$pid_file --bind-address=127.0.0.1 &
重啟mysql:/etc/init.d/MySQL restart
查看後實現:natstat -l
tcp 0 0 localhost.localdo:MySQL *:* LISTEN