網上說法:
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)。
希望對妳有幫助