首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拔出mysql remote

拔出mysql remote
EN

Stack Overflow用户
提问于 2020-12-22 18:28:08
回答 1查看 28关注 0票数 0

我的mysql服务器在一台远程计算机上。我测试了一段代码在数据库连接被切断时的行为,因为这段代码通过DriverManager观察数据库连接。当我从windows的服务中停止mysql时,代码在调整到脱机状态时没有任何问题。但是当我从遥控器上拔下网线时,数据库查询至少需要一分钟才能注意到任何东西,并且程序会等待相当长的一段时间进行查询,特别是如果在显示从属状态查询之前拔出了网线。为什么会这样呢?

EN

回答 1

Stack Overflow用户

发布于 2020-12-22 20:11:12

您看到网络超时。这是TCP / IP的一个长期特性。

您的Java程序使用TCP / IP连接连接到MySQL。它们的设计目的是对世界上的网络中断具有弹性。假设一个路由器在冰岛的某个地方,并且由Cable and Wireless操作,假设它离线了,你的TCP连接的数据包会尝试寻找不同的路由。

当您突然断开链路层连接(以太网)电缆时,Java程序判断其断开的唯一方法是当TCP连接放弃并超时时。

如果你需要比操作系统更快地检测到这种情况,你需要设置某种看门狗线程。

你通过断开电缆来测试你的东西是很好的。但是,这在服务器软件中并不是一种非常常见的故障模式。(这在移动设备和服务器之间的连接中很常见。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65407041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档