MySQL数据库错误:Communications link failure

MySQL数据库错误:Communications link failure,第1张

MySQL服务器默认的空闲时间超过8个小时,MySQL将自动断开该连接,而连接池却认为该连接还是有效的,当应用申请使用该连接时,就会报错:Communications link failure,The last packet successfully received from the server was millisecond agoThe last packet successfully sent to the server was millisecond ago。
如果你使用的是hibernate,需要修改连接池的设置,因为 hibernate自带的连接池性能很差,可以使用C3P0,然后配置:
<property name="automaticTestTable">test</property>
c3p0将建一张名为Test的空表,并使用其自带的查询语句进行测试。如果定义了这个参数那么 属性preferredTestQuery将被忽略。你不能在这张Test表上进行任何 *** 作,它将只供c3p0测试使用。

不会。
事务执行完成未提交如果事务中sql执行完成而没有提交,此时网络断开,那么事务还存在服务端,需要手动kill,如果此时没有给出指令那么执行中断。
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品。MySQL是最流行的关系型数据库管理。

原因分析:
(1)大量数据访问情况下,mysql connection连接有可能失效
(2)长时间不妨问,connection会失效
关于MySQL的wait_timeout连接超时问题报错解决方案
Mysql服务器默认的“wait_timeout”是8小时也就是默认的值默认是28800秒,也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection,通俗的讲就是一个连接在8小时内没有活动,就会自动断开该连接。 wait timeout的值可以设定,但最多只能是2147483,不能再大了。也就是约2485天
所以即使你MySQL通过myini 在
# The TCP/IP Port the MySQL Server will listen on port=3306下面添加
# this is myown dinifition for mysql connection timeout wait_timeout=31536000
interactive_timeout=31536000
无论超过最大限度多大的数值,只能被MySQL解析为2147483,2147483天后你的程序该出什么错还是什么错,避免不了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12624789.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存