产生场景:应用服务器 连接 数据库服务器,连接不上,提示 java.net.NoRouteToHostException: No route to host (Host unreachable)
原因:数据库这台服务器防火墙没开放数据库端口
解决步骤: 以数据库3406端口为例(linux操作系统)
步骤1.查看数据库服务器已开放端口 命令:firewall-cmd --list-ports
![]()
步骤2.可以看到只开放tcp端口有:20 21 80 8888 .没有3406端口
步骤3.开放3406端口 命令:firewall-cmd --zone=public --add-port=3406/tcp --permanent
步骤4.再次查询开放端口(同上步骤1),可以看到3406端口已经开放
步骤5.重启防火墙 命令 systemctl reload firewalld
步骤6.生效解决应用连接数据库问题
附录:
查看防火墙状态命令 systemctl status firewalld
重启防火墙命令 systemctl reload firewalld
关闭防火墙命令 systemctl stop firewalld
当应用服务器尝试连接数据库服务器时遇到'NoRouteToHostException: Host unreachable'错误,原因是数据库服务器的防火墙未开放对应端口。解决步骤包括:1.使用'firewall-cmd --list-ports'命令检查开放端口;2.通过'firewall-cmd --zone=public --add-port=3406/tcp --permanent'命令开放3406端口;3.使用'systemctl reload firewalld'重启防火墙,确保更改生效。完成这些步骤后,应用应能成功连接到数据库。
6417





