问题:
笔者在进行docker部署实验时,完成mysql部署之后需要进行测试,结果无法连接,尝试关闭防火墙,还是不行。
原因
真相大白了,centos及时关闭了防火墙,也只能使用22端口连接ssh,别的端口还是不能用,所以我们需要开启防火墙手动设置要分开的端口,就以mysql为例,我们需要这样做
解决方案
先开启firewalld:
systemctl start firewalld
放通端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新加载配置文件
firewall-cmd --reload
排查思路
笔者首先一再确认防火墙关闭了,进行数次访问都不行。由此可以得出防火墙确实关闭了,一定是某个地方
但是但是shell连接是没问题的,说明防火墙确实关闭了,但是端口没有放行,为了印证这一点,笔者使用telnet尝试联通mysql,还是不行
所以笔者猜测关闭防火墙并没有放行3306端口,所以笔者通过搜索引擎搜索下述文字,最终得到上文的解决方案
centos 关闭防火墙 无法访问
总结
所以遇到这种问题要敢于猜测问题的原因并去验证,去寻找答案,切勿陷入一个猜测的思维定势