暂无图片
telnet ip 3306(telnet mysql服务3306) 后,有的能自动释放关闭,有的不能释放关闭
我来答
分享
手机用户1559
2024-06-25
telnet ip 3306(telnet mysql服务3306) 后,有的能自动释放关闭,有的不能释放关闭

1.  telnet  IP1 3306  后,能自动释放关闭返回。

2.  而telnet 另一个 IP2 的3306端口后,不能自动释放关闭,而是卡着不动

3.  IP1和IP2 这两台服务器 都没开防火墙。

为啥:  这个telnet IP 3306 后是否自动释放关闭返回,是在哪里控制的。

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
大大刺猬

解释

mysql的连接超时是由参数 connect_timeout控制的. 默认10秒. 你确认下这个参数在两个环境是否相同呢
image.png

例子

很快就释放连接, 看起来像是自动释放

set global connect_timeout=1;

1719396232023.jpg

长时间不释放连接, 看起来要手动释放

set global connect_timeout=1000;

image.png

暂无图片 评论
暂无图片 有用 1
暂无图片
watson

telnet测试的数据流量是走tcp协议,断开的情况属于TCP层面的超时。

假设正常与数据建立连接需要3ms,我们可以通过设置 connectTimeout=1ms 来模拟测试看下。

暂无图片 评论
暂无图片 有用 0
龙镇君

题主:telnet ip 3306(telnet mysql服务3306) 后,有的能自动释放关闭,有的不能释放关闭

有以下一些可能导致这种差异的原因:

MySQL服务器配置:MySQL服务器的配置可能影响Telnet连接的行为。例如,如果MySQL服务器配置为只接受来自特定IP地址的连接,那么从其他IP地址尝试连接时可能会立即断开。此外,如果MySQL服务器配置为在一段时间内无活动连接后自动关闭,那么即使Telnet连接成功,它也可能在一段时间后被关闭。

网络配置:网络设备或配置可能阻止Telnet连接保持开放状态。例如,某些网络防火墙或安全设备可能配置为限制长时间的TCP连接,或者在检测到空闲连接时主动关闭它们。

客户端配置:使用Telnet客户端时的配置设置也可能影响连接的行为。有些Telnet客户端可能具有超时设置,这些设置会在一段时间后关闭未活跃的连接。此外,客户端操作系统的网络设置也可能影响连接的持久性。

MySQL服务状态:MySQL服务本身的状态也可能影响连接的行为。如果MySQL服务遇到问题或正在进行维护,它可能不会接受新的连接请求,或者在连接建立后不久就关闭它们。

为了解决这个问题,您可以检查以下几点:

确认MySQL服务器的配置,特别是绑定地址和远程连接的权限设置。
检查网络设备和防火墙设置,确保它们没有阻止Telnet连接。
检查Telnet客户端的配置,包括超时设置和网络设置。
检查MySQL服务的状态,确保它正在运行并接受连接请求。 

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏