Navicate远程连接Linux上docker安装的MySQL容器失败
来自:https://bluebeastmight.github.io/
问题描述:windows端的navicat远程连接不上Linux上docker安装的mysql(5.7版本)容器,错误代码10060
标注:
1、检查防火墙
检查防火墙 → 防火墙已经关闭,发现不是防火墙的问题,不是这的问题
systemctl status firewalld.service
firewall-cmd --state
2、检查MySQL服务是否开启
检查服务是否开启 → 服务开启,端口映射正确(容器3306映射到Linux3307),不是这的问题
docker ps
netstat -anp | grep 330
ps -ef | grep mysql
3、检查root用户是否具有权限
检查root用户是否开启访问外网权限 → root用户已经拥有该权限,不是这的问题
user mysql;
select User,authentication_string,Host from user
4、检查Linux端口转发是否已经开启
检查Linux端口转发是否已经开启
#显示net.ipv4.ip_forward=0则表示未打开
#显示net.ipv4.ip_forward=1则表示打开
sysctl net.ipv4.ip_forward
→ 端口转发为开启,找到问题了
# 1、临时开启,(写入内存,在内存中开启)
echo "1" > /proc/sys/net/ipv4/ip_forward
# 2、永久开启,(写入内核),在 vim /etc/sysctl.conf下加入net.ipv4.ip_forward = 1
vim /etc/sysctl.conf
#按i进入编辑模式,复制完成,按esc+输入wq保存退出
net.ipv4.ip_forward = 1
# 重新加载
sysctl -p
#再次查看
sysctl net.ipv4.ip_forward
sysctl -a |grep "ip_forward"
→再次测试连接: