mysql 批量插入数据报错 2006, MySQL server has gone away

1. 问题描述:

 往MySQL批量插入数据,一次插入六万行数据,大约是一个6M的json文件,然后报错  2006, 'MySQL server has gone away'

解决方法:

  1. 执行命令

    

 show global variables like 'max_allowed_packet';

  mysql 批量插入数据报错  2006, MySQL server has gone away

   2. 原因是  max_allowed_packet默认值是4M,在导入数据的时候,如果文件大于4M了,就会抛出这个错误的。

  3. 解决办法是:

      1.  修改允许最大的文件是 40M


        set GLOBAL max_allowed_packet = 41943040

      2. 

           在my.cnf文件中添加或者修改以下变量: 
                max_allowed_packet = 40M(也可以设置自己需要的大小) 
                max_allowed_packet参数的作用是,用来控制其通信缓冲区的最大长度。