在实际的项目开发中,偶尔需要本地连接远程主机的MySQL数据库,但是常常出现一些小问题,如
Navicat或者采集工具报错 is not allowed to connect to
当然这主要是MySQL这块对本地主机对远程主机的数据库访问进行的安全限制,可以通过上面方法解决。
但是远程主机的防火墙也会对本地连接MySQL进行限制,这个时候只需给防火墙添加一个“例外”即可,不过项目完成后,建议把这个例外还是去掉的好。
方法如下:
CentOS系统配置iptables防火墙允许MySQL外部访问
centos安装默认有iptables信息过滤系统,目前需要配置使mysql能远程访问。
相关知识:
iptables相关
1、iptables服务 /etc/init.d/iptables start|stop|restart|…
2、配置文件位置 /etc/sysconfig/iptables-config
3、策略文件位置 /etc/sysconfig/iptables (默认是不存在的,使用service ipatables save 可以保存当前策略)
4、查看规则 iptables -L (如果指定查看某一规则,如INPUT使用 iptables -L INPUT)
5、新建一个规则
-A INPUT -s yourlocalipaddress -p tcp -m tcp –dport 3306 -j ACCEPT
6、保存当前规则service iptables save (或/etc/init.d/iptables save或者 iptables-save > /etc/sysconfig/iptables )
save是将规则追加到一个文件,主要是配合iptables-restore命令
7、恢复策略文件service iptables restore
mysql访问配置:
iptables -A INPUT -p tcp -m state –state NEW -m tcp –dport 3306 -j ACCEPT
service iptables save
service iptables restart
相关问题:
1、配置是遇到了/sbin/iptables和iptables,查了一下他们的区别
/bin里面一般是普通可执行程序,而/sbin里多为系统管理程序和服务程序
s应该是system这个单词