windows连接CentOS数据库或Tomcat报错,IP通的,端口正常监听

错误信息

数据库错误:

ERROR 2003 (HY000): Can't connect to MySQL server on 'x.x.x.x' (10060)

Tomcat访问错误:

响应时间过长 ERR_CONNECTION_TIMED_OUT

基础排查工作

【以下以3306端口为例,对于8080端口来说操作是一样的,只需要替换端口号】

1、ping CentOS IP是通的

2、netstat -an|grep 3306端口是监听的

3、防火墙已经关闭

4、CentOS本机可以连接到数据库,但是远程不可以

问题原因

问题就出在防火墙这里:

当我们使用以下的命令单独开放了3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent

但是却关闭了防火墙,此时3306端口就无法访问。

用nmap扫描端口状态是filtered
nmap -p 3306 x.x.x.x

解决办法1:移除防火墙规则,重新加载,关闭防火墙(推荐)

移除防火墙规则

复制代码
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
firewall-cmd --reload

关闭防火墙(1次,重启后又自动运行)
systemctl stop firewalld.service

关闭防火墙(永久)
systemctl disable firewalld.service

解决办法2:启动防火墙(不推荐)

保留防火墙规则,保持防火墙启动状态
systemctl start firewalld.service

相关推荐
YYYing.1 分钟前
【Python系列 (一) 】Python基础疑难杂症
开发语言·python
rannn_1115 分钟前
JVM 垃圾回收面试题全解析:从基础到进阶
java·开发语言·jvm·后端·面试
知野小兔11 分钟前
JavaScript 数组方法大全(超详细整理)
开发语言·前端·javascript
Wang's Blog11 分钟前
Java框架 SpringCloud 快速入门: Ribbon 饥饿加载
java·spring cloud·ribbon
哈__12 分钟前
飞牛OS还在手动维护?我用Ansible把重复操作写成了Playbook
开发语言·ansible·php
道尔柯南12 分钟前
【QT】从零认识 Qt:跨平台 C++ GUI 开发入门
开发语言·c++·qt
二喵❥(^_-)16 分钟前
接口测试流程的三个核心环节
开发语言·lua
喜欢coding的谢同学29 分钟前
Go语言常用设计模式基础和实践案例介绍
开发语言·设计模式·golang
天空鸟_时光不老34 分钟前
10-Agent安全隐患与SQL执行层加固
java·数据库·人工智能·sql·spring·maven·mybatis
MayZork37 分钟前
std::filesystem 文件操作详解
开发语言·c++·qt