重启阿里云ESC服务器后,数据库与jar包外面无法访问bug

bug

重启了服务器,发现从外面无法连接数据库

原因

使用firewall-cmd --list-all命令查看服务器防火墙的配置,发现没有开启3306端口的开放,虽然我们在安全组设置3306端口但是防火墙没有开启,外面是依然无法访问的。

firewall-cmd --list-all命令

firewall-cmd --list-all命令:用于列出当前系统上所有已配置的防火墙规则。它将显示当前所有区域的防火墙规则列表,包括公共区域(public zone)。执行该命令后,你将看到一个包含已配置端口、协议、区域和状态等信息的列表。请注意,你需要具有适当的权限才能执行此命令。如果没有足够的权限,你可能需要使用sudo` 或者作为root用户来执行该命令。

解决

输入firewall-cmd --zone=public --add-port=3306/tcp --permanent,添加3306端口

再次输入firewall-cmd --list-all命令进行查看

可以看到3306端口已经添加进来了,重启服务器,再次从外面进行访问,可以看到连接成功。

firewall-cmd --zone=public --add-port=3306/tcp --permanent命令解释

该命令是用于在Linux系统中永久性更改防火墙规则的。firewall-cmd 是Linux中firewalld服务的主要命令行工具。这个命令将公共区域(public zone)的3306端口设置为TCP协议开放,并且是永久性的。

具体来说,这个命令的含义是:

--zone=public:指定要更改的防火墙区域为"public"。

--add-port=3306/tcp:在公共区域中添加一个TCP端口3306。

--permanent:这个选项表示设置的规则是永久性的,即使重启后仍然有效。

如果你希望立即应用这些更改,而不是等待下次重启,你可以使用 --runtime 选项代替 --permanent。

请注意,你需要有适当的权限才能运行此命令。如果你没有足够的权限,你可能需要使用 sudo 或者作为root用户来执行这个命令。

另外,这个命令需要在一个已经启动了firewalld服务的环境中执行。如果你的环境中firewalld没有启动,你需要先启动它。可以使用 systemctl start firewalld 命令来启动firewalld服务。

相关推荐
TG_yunshuguoji10 分钟前
阿里云代理商:企业如何通过 DeepSeek V4 + 阿里云实现 AI 成本大幅降低?
人工智能·阿里云·ai智能体·deepseek v4
卡次卡次113 分钟前
14.1: 总结本章 Python 高性能并发:多线程+多进程核心知识点+实战指南(面试/开发双适配)
服务器·python·面试
开开心心_Every14 分钟前
安卓免费证件照制作软件,无广告弹窗
linux·运维·服务器·安全·elasticsearch·zookeeper·pdf
iAm_Ike22 分钟前
placeholder属性在IE9下有效吗_低版本表单提示替代方法【技巧】
jvm·数据库·python
牧瀬クリスだ25 分钟前
MYSQL的索引与事务
数据库·mysql
李木子qaq32 分钟前
什么是数据库代理
数据库·proxy模式
LNN202235 分钟前
半导体设备上位机 Qt 实现计划
开发语言·数据库·qt
牧瀬クリスだ35 分钟前
MYSQL的视图
数据库·mysql
m0_7414817839 分钟前
SQL删除包含敏感信息的数据_使用数据脱敏后执行删除
jvm·数据库·python
2401_8822737240 分钟前
如何用立即执行函数(IIFE)创建独立的作用域隔离变量
jvm·数据库·python