"通信链路故障"在Mac上长时间的MySQL查询期间

时间:2018-06-08 07:53:29

标签: mysql macos

对MySQL执行长查询时,出现以下错误:

java.lang.RuntimeException: database error (INSERT INTO ... SELECT ....): 
  Communications link failure
  Last packet sent to the server was 8675964 ms ago.

所以这个"最后一个包"发送时间 2.4小时,这也与我的程序的日志文件一致,该日志文件在启动语句时以及发生错误时都会记录。

我认为它可能与https://stackoverflow.com/a/24724721/220627有关但是答案是针对Linux的,使用/proc并且在Mac上没有任何等价物(据我所知)?

我很熟悉如果您不发送任何语句到开放的MySQL连接(例如,应用程序保持连接打开,在夜间没有请求)。但是,我不相信这是这里的情况。据我了解,在执行语句期间,无论语句运行多长时间,MySQL都会保持连接打开。

来自MySQL:

mysql> show variables like '%timeout%';
+-----------------------------+----------+
| Variable_name               | Value    |
+-----------------------------+----------+
  ....
| interactive_timeout         | 28800    |
| lock_wait_timeout           | 31536000 |
| net_read_timeout            | 30       |
| net_write_timeout           | 60       |
| rpl_stop_slave_timeout      | 31536000 |
| slave_net_timeout           | 60       |
| wait_timeout                | 28800    |
+-----------------------------+----------+

据我所知,interactive_timeoutwait_timeout是28800, 8小时,所以不到2.4小时后我的声明正在中止,所以我不认为这些变量的价值。

我正在运行MySQL Server version: 5.7.22 Homebrew。我使用的是Mac OS X 10.13.4。我正在使用mysql-connector-java-5.1.7-bin.jar

从Java运行语句

0 个答案:

没有答案