VMware挂起后无法连接MySQL和Redis问题
问题描述
-
本人最近在做一个的项目,使用VMware新装了Centos7虚拟机,在虚拟机里面用docker部署了MySQL、Redis、MQ等等组件以及各种微服务。
-
第一天成功把这些东西部署,然后全部测试完也没什么问题,想着微服务开的比较多,然后工作结束后直接把虚拟机挂起(省得第二天要把其他微服务全部再Run一遍),结果第二天用Navicat连接Mysql死活连不上,想着不会Redis也连不上叭(没错也连不上了),但是其他微服务能正常使用,于是便开始排查问题!
问题排查
-
查了MySQL和Redis的日志,发现日志正常没什么问题。
-
重启MySQL容器,重试连接,同样连不上。
-
重启docker后,就能连上了。
-
重启虚拟机也能连上。
!!!(但我重启docker后,我其他的微服务就要再Run一遍)
解决办法
- 开始在网上搜寻解决办法,发现大家的问题和我不太一样
-
于是我开始从虚拟机本机文件入手
1
vi /usr/lib/sysctl.d/00-system.conf
进入后文本如下:
1
2
3
4
5
6
7
8
9# Kernel sysctl configuration file
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Disable netfilter on bridges.
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0 -
在后面添加如下内容
1
net.ipv4.ip_forward = 1
-
保存退出,接着重启网络服务
1
systemctl restart network
-
重启以后,输入以下命令,查看IPv4转发状态
1
sysctl net.ipv4.ip_forward
显示如下,则转发成功:
1
net.ipv4.ip_forward=1
-
再次挂起VMware,重试连接mysql和redis,就已经没问题了。
记录下这个问题,之后遇到相似问题方便查找!
评论
TwikooGiscus