Datagrip连接MariaDB长查询50秒报Communications link failure如何解决
Datagrip MySQL/MariaDB长查询50秒断连解决方案
这个问题的核心原因是Datagrip默认给JDBC连接配置了50秒的套接字超时,和数据库侧的超时配置无关,所以客户端断连后,数据库后台的查询仍然能正常执行结束。Pentaho未配置该短超时参数,因此相同查询可以正常跑完。
调整步骤
- 打开Datagrip对应MySQL/MariaDB数据源的配置界面,点击高级标签
- 在参数列表中找到
socketTimeout配置项,默认值为50000(单位毫秒,对应50秒),就是该参数触发了超时断连 - 根据你的业务最长查询耗时调整该值:比如需要支持10分钟的长查询就改为
600000,如果需要完全禁用套接字超时则填0 - 可选同步调整
connectTimeout参数,默认值为30000(30秒),可以按需调大避免建连阶段超时 - 保存配置后重新连接数据源,再次执行长查询即可验证是否解决
报错说明
你遇到的08S01 Communications link failure错误是JDBC驱动在套接字超时后主动断开客户端连接抛出的异常,此时数据库侧并未终止查询,所以执行show processlist仍然可以看到正在运行的查询进程。
内容的提问来源于stack exchange,提问作者srgank
相关产品推荐
相关产品推荐

