拔掉mysql远程连接

jk9hmnmh  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(325)

我的mysql服务器在远程计算机上。当数据库连接被切断时,我正在测试一段代码的行为,因为代码通过drivermanager观察数据库连接。当我从windows的服务中停止mysql时,代码在调整到离线状态时不会有问题。但是,当我从远程设备拔下网络电缆时,数据库查询至少需要整整一分钟的时间才能注意到任何情况,并且程序等待查询的时间相当长,尤其是在显示从属状态查询之前拔下的情况。为什么会这样?

qvtsj1bj

qvtsj1bj1#

您看到网络超时。这是tcp/ip的一个长期特性。
java程序使用tcp/ip连接连接到mysql。它们的设计是为了应对世界各地的网络中断。如果一个路由器在冰岛某地,比方说,由有线和无线操作,比方说,脱机,你的tcp连接的数据包试图找到一个不同的路由。
当您突然断开一条链路层连接(以太网)电缆时,java程序判断它已断开的唯一方法是tcp连接何时放弃并超时。
如果您需要比操作系统处理这种情况更快地检测到这种情况,那么您需要设置某种看门狗线程。
很好,你通过断开电缆来测试你的东西。但是,这在服务器软件中并不是一种常见的故障模式(这在移动设备和服务器之间的连接中很常见。)

相关问题