频道栏目
首页 > 数据库 > MySQL > 正文
linux中mysql数据库外部无法访问解决
2012-11-15 09:28:49           
收藏   我要投稿

linux中mysql数据库外部无法访问解决

 

今天在虚拟机CentOS系统中安装了mysql数据库,可是安装成功后外部却无法访问。找了好长时间才找到是由于防火墙设置造成的,现将解决过程写出来分享一下。首先,检查了mysql的权限,已经设置过了。且服务也已经启动,在localhost能够成功登陆。iptables防火墙也开启了5506端口(我安装mysql的端口喜欢采用5506,而非默认的3306)。 www.2cto.com  

 

然后,我在本地环境链接我虚拟机里面的数据库时怎么也链接不上,提示2003的错误码信息。这个是由于网络连接不上造成的。使用SQLyog采用ssh的方式能够连接上数据库,这又说明网络是通的。然后检查用户的权限已经设置过“%”的登陆权限了。最后,我到虚拟机里面查看防火墙的状态,如下:

Chain RH-Firewall-1-INPUT (2 references) num target prot opt source destination 

1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 

2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 3 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 

4 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 

5 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353 6 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 8 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 10 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited 11 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 12 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:5506

 

我就纳闷了,怎么防火墙是接受5506端口的,可就是连接不上数据库呢。。。就在这时想到了ssh是可以连接上的。所以防火墙22的端口肯定是通的。那为什么5506的端口就不行了。 突然发现了我设置的防火墙在

 

10 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

 

后面,我猜想估计就是这个原因,马上把开启的端口设置放到了reject的上面,重启防火墙。搞定了!

 

总结:设置防火墙的时候千万要注意,不要将accept的设置放到了reject的后面,这样就可以避免防火墙设置无效的情况发生。

 

友情提示:不要忘记重启防火墙,呵呵!

 

点击复制链接 与好友分享!回本站首页
相关TAG标签 数据库
上一篇:运用mysql中的source命令导入大的sql文件的解决方法
下一篇:MySQL中对查询的结果集取交集如何实现
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站