发布网友 发布时间:2022-04-10 08:46
共1个回答
热心网友 时间:2022-04-10 10:15
网上说法:
MySQL服务器默认的空闲时间超过8个小时,MySQL将自动断开该连接,而连接池却认为该连接还是有效的,当应用申请使用该连接时,就会报错:
Communications link failure,The last packet successfully received from the server was * millisecond ago.The last packet successfully sent to the server was * millisecond ago。其实这个原因是接近的。
但是我们这里的架构是:
jdbc–>HA–>Mycat–>MySql
所以如果HA对连接的空闲时间设置为10分钟自动断开连接的话,而且jdbc的空闲连接为10分钟以上,就会出现这个报错。
比如:
jdbc(> 10min)–>HA(=10min)
所以要么将HA的改大,要么将jdbc的改小(一般就是idleMaxAge)。
希望对你有帮助