MySQL数据库导入xlsx文件时,出现#2006 - MySQL server has gone away的问题的原因。

1、应用程序(比如PHP)长时间的执行批量的MySQL语句。

最常见的就是采集或者新旧数据转化。

解决方案:

在my.ini文件中添加或者修改以下两个变量:

wait_timeout=2880000interactive_timeout = 2880000

2、执行一个SQL,但SQL语句过大或者语句中含有BLOB或者longblob字段。

解决方案:

修改my.ini文件,在my.ini文件中添加或者修改以下变量:

max_allowed_packet = 30M(可以设置自己需要的大小)

max_allowed_packet 参数的作用是,用来控制其通信缓冲区的最大长度。

最终的解决办法

将以下代码添加到my.ini文件中。

max_allowed_packet=50Mwait_timeout=288000interactive_timeout = 288000

原文地址:https://www.jianshu.com/p/98383c7a1dd1

科科网络

最终解决办法代码“max_allowed_packet=50M”中50M数值可以根据要导入的数据库大小改大点,如2048M