报错原因
提示:[ERR] 2006 - MySQL server has gone away
这个原因是因为,mysql 默认设置的执行时间不够,导致了超时。
解决方式
- 单行执行sql语句的方式。不用修改mysql的配置,直接每一条sql语句的执行。缺点就是费时间。
- 修改mysql的配置。执行下列命令:
set global max_allowed_packet=;
#用于客户机/服务器通信的缓冲区的最大大小。默认是24m,最大值是1G。根据需要设置,单位是byte。
set global net_buffer_length=;
#用于客户机/服务器通信的缓冲区的初始大小。单位是byte
SET GLOBAL interactive_timeout=;
#服务器在关闭客户端之前等待活动的秒数,默认值interactive_timeout。该变量在msyql8.0.16版以上都删除了。
SET GLOBAL wait_timeout=;
#服务器在关闭客户端之前等待活动的秒数,默认值28800。但如果时间太短的话,超时后就会现了MySQL server has gone away #2006错误