Mysql的sql文件过大导入出错

时间:2022-09-20 07:43:21
前言
  • 在备份项目数据时导出sql文件,加上数据大概有80M,用sqlyog导入时报错“mysql has gone away”
分析
  • sql文件过大,mysql执行时超过最大包大小,导致连接断开
客户端max_allowed_packet取值范围4096-2G,默认值是16M
客户端net_buffer_length取值范围1024-512M,默认值16K
服务器max_allowed_packet取值范围1024-1G,默认值是1M
服务器net_buffer_length取值范围1024-1M, 默认值16K
解决
  • 查看通信缓冲区的大小
 show global variables like 'max_allowed_packet';
  • 调整大小 20M
set global max_allowed_packet=1024*1024*20;