当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 禁止Mysql默认端口访问Internet

MYSQL
MySQL 一次执行多条语句的实现及常见问题
mysql 常见命令和学习心得
mysql 发生系统错误1067的解决方法
MySQL 建表的优化策略 小结
批量替换 MySQL 指定字段中的字符串
mysql4.0升级到mysql5(4.1),解决字符集问题
MySQL 随机密码生成代码
Linux系统下配置功能完善的Web服务器
PHP+MYSQL实例:网站在线人数的代码
Perl直接入门详尽指南
PHP实例程序:直接读取数据库信息的三种方法
Apache、PHP和mySQL的配置的过程
新手学PHP和MySQL动态网站开发教程
优化mysql性能的十个参数
用相关数据库命令对MySQL进行优化
MYSQL执行SQL语句需要注意的两个问题
保护MySQL数据库中重要数据全攻略
Linux下配置 Tomcat+JDK+MySQL应用平台
数据从MySQL迁移到 Oracle的注意事项
快速掌握 MySQL数据库中触发器的应用

MYSQL 中的 禁止Mysql默认端口访问Internet


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 113 ::
收藏到网摘: n/a

 

过去查询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 *:* LISTEN

OK

而我修改/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