服务器的数据库连不上了【服务已起、防火墙已关、端口已开、netlent 端口不通】
首先说明:这篇文章针对 服务已经起来了、防火墙是关闭的、安全组端口也打开了,在docker 容器中可以连接MySQL,但是Navicat中不能连,同时 netlent IP 端口 也不同,Navicat报错如下:
如果你也是这种奇葩问题,你可以看下下面的解决方案。
首先确认下防火墙状态
systemctl status firewalld
没毛病,在关着。
再看下端口
netstat -antulp | grep XXXX
也没毛病,docker mysql 起来端口就在使用,docker mysql 关闭的话,端口就未使用
自己确认下自己服务器的安全组对应的端口是否打开了
telnet IP 端口 测试连接下
结果是连接失败,没事,接着往下
执行命令:cat /proc/sys/net/ipv4/ip_forward
注意,这里是0,是不对的,0表示ipv4转发出于关闭状态
我们需要修改成 1
执行命令echo 1 > /proc/sys/net/ipv4/ip_forward
这样我们就开启了ipv4转发
Navicat 重连
OK,这样就搞定了,不知因为什么原因导致 ipv4转发 关闭了
可能的原因:
重启服务器后被恢复了
部分进程可能修改了系统设置
我们把ipv4转发打开就好了,因为 服务器里面部署容器的话是需要开启ip转发功能的 ,一般不需要我们自己处理的,不知为啥遇到了,我们开启就可以解决问题了。
版权声明: 原创博主:牛哄哄的柯南 博主原文链接:https://keafmd.blog.csdn.net/ 个人博客链接:https://www.keafmd.top/
看完如果对你有帮助,感谢点击下面的点赞支持! [哈哈][抱拳] 加油!
共同努力!
Keafmd
|