导入大量数据时出现MySQL Server has gone away 的解决方法
2011-06-25 16:58
951 查看
今天需要迁移一个大概26M多一点的数据库到我的台式机。于是我在其他的机器上用HeidiSQL将这个数据库导出成一个大sql文件,这个SQL文件内容是数据库结构+数据。
可能由于一次导入的数据量有点多,我在台式机上的HeidiSQL中Import这个sql文件时出现了SQL Error 2006 MySQL Server has gone away的报错。
通过Google 我找到了一个MySQL 英文论坛上找到了一个方法:在my.cnf 文件中添加 connect_timeout=120 和wait_timeout = 1800 。由于我使用的是windows版本MYSQL,我在my.ini中的[mysqld]下面添加了这两句。重启再试,还是报错。于是改大这两个值,统统改为2880000。再重启MYSQL,导入还是报错。
不过几遍下来,我发现了一个规律。每次报错的时候都是停在导入到25M的时候。看来应该不是超时的问题,我估计是文件大小被限制住了。最后几经寻找尝试,发现了max_allowed_packet这个参数。我设置 max_allowed_packet=56M 后,导入一举成功。官方的解释是适当增大 max_allowed_packet,可以使得client端到Server端传递大数据量的时候,系统能够分配更多的扩展内存来处理。56M是我自己设定的值,只提供参考价值,它的default值为1M。这个我目前没有来得及确认。
可能由于一次导入的数据量有点多,我在台式机上的HeidiSQL中Import这个sql文件时出现了SQL Error 2006 MySQL Server has gone away的报错。
通过Google 我找到了一个MySQL 英文论坛上找到了一个方法:在my.cnf 文件中添加 connect_timeout=120 和wait_timeout = 1800 。由于我使用的是windows版本MYSQL,我在my.ini中的[mysqld]下面添加了这两句。重启再试,还是报错。于是改大这两个值,统统改为2880000。再重启MYSQL,导入还是报错。
不过几遍下来,我发现了一个规律。每次报错的时候都是停在导入到25M的时候。看来应该不是超时的问题,我估计是文件大小被限制住了。最后几经寻找尝试,发现了max_allowed_packet这个参数。我设置 max_allowed_packet=56M 后,导入一举成功。官方的解释是适当增大 max_allowed_packet,可以使得client端到Server端传递大数据量的时候,系统能够分配更多的扩展内存来处理。56M是我自己设定的值,只提供参考价值,它的default值为1M。这个我目前没有来得及确认。
相关文章推荐
- mysql导入大批量数据出现MySQL server has gone away的解决方法
- mysql导入大批量数据出现MySQL server has gone away的解决方法
- mysql导入大批量数据出现MySQL server has gone away的解决方法
- mysql插入大量数据(text类型)时出现MySQL Server has gone away 的解决方法
- mysql导入大批量数据出现MySQL server has gone away的解决方法
- mysql导入大批量数据出现MySQL server has gone away的解决方法
- mysql导入大批量数据出现MySQL server has gone away的解决方法
- mysql导入大批量数据出现MySQL server has gone away的解决方法
- mysql导入大批量数据出现MySQL server has gone away的解决方法
- mysql导入大量数据时报MySQL server has gone away错误的解决办法
- mysql导入较大sql文件,出现MySQL server has gone away的解决方法
- mysql 导入数据 2006 - MySQL server has gone away 问题解决方法
- MySQL(Navicat)运行.sql文件时报错:[Err] 2006 - MySQL server has gone away 的解决方法 背景: 今天导入一个数据量很大的.sql文件时,
- 导入SQL导致"MySQL server has gone away"的解决方法
- 数据库导入过大 报错 ERROR 2006 (HY000) at line xx: MySQL server has gone away 解决方法
- 黄聪:Mysql数据库还原备份提示MySQL server has gone away 的解决方法(备份文件数据过大)
- 数据导入的时候报MySQL server has gone away的解决
- ThinkPHP出现General error: 2006 MySQL server has gone away的解决方法
- MySQL 出现 2006 - MySQL server has gone away 问题的解决方法
- mysql-cluster导入数据备份时出现:MySQL server has gone away