因工作需要,需要导入一个100M左右的sql文件到数据库
导入的过程中出现MySQL server has gone away错误,数据导入失败。
解决方法:
查看资料,发现了 max_allowed_packet 参数,
官方解释是适当增大 max_allowed_packet 参数可以使client端到server端传递大数据时,系统能够分配更多的扩展内存来处理。
查看mysql max_allowed_packet的值
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
可以看到是4M,然后调大为256M(1024*1024*256)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
修改后执行导入,一切正常,解决问题。
注意:
使用set global命令修改 max_allowed_packet 的值,重启mysql后会失效,还原为默认值。
如果想重启后不还原,可以打开 my.cnf 文件(在Windows下台下面是my.ini),添加 max_allowed_packet = 256M 即可。
本文介绍了解决MySQL在导入大型SQL文件过程中遇到的'server has gone away'错误的方法。通过调整'max_allowed_packet'参数值,成功实现了100M大小SQL文件的数据导入。
6169

被折叠的 条评论
为什么被折叠?



