ERROR 2013 (HY000): Lost connection to MySQL server during query

问题原因

客户端连接超时

相关参数概念

(1)interactive_timeout: 服务器关闭交互式连接前等待活动的秒数
(2)wait_timeout: 服务器关闭非交互连接之前等待活动的秒数。
两者生效取决于:客户端是交互或者非交互的连接。
在交互模式下,interactive_timeout才生效;非交互模式下,wait_timeout生效。

如何解决

查看mysql默认值
mysql> show global variables like 'interactive_timeout';
+---------------------+-------+
| Variable_name       | Value |
+---------------------+-------+
| interactive_timeout | 1800  |
+---------------------+-------+
1 row in set, 1 warning (0.00 sec)

mysql> show global variables like 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout  | 1800  |
+---------------+-------+
1 row in set, 1 warning (0.00 sec)
修改mysql默认值
mysql> set global interactive_timeout = 18000;
Query OK, 0 rows affected (0.00 sec)

mysql> set global wait_timeout = 18000;
Query OK, 0 rows affected (0.00 sec)

概念补充

交互式操作:通俗的说,就是你在你的本机上打开mysql的客户端,就是那个黑窗口,在黑窗口下进行各种sql操作,当然走的肯定是tcp协议。
非交互式操作:就是你在你的项目中进行程序调用。