问题原因
客户端连接超时
相关参数概念
(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协议。
非交互式操作:就是你在你的项目中进行程序调用。