Mysql的sql文件过大导入出错,在备份项目数据时导出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;