我正在尝试将数据库从 serverA 移动到 serverB。我使用以下命令创建了一个 mysql 转储:
mysqldump -u root -p -c --add-drop-table --add-locks --quick --lock-tables mydatabase > /var/log/mydatabaseJan31.sql
然后在 serverB 上,我尝试通过执行以下操作导入此数据:
mysql -u root -p mydatabase < /tmp/mydatabaseJan31.sql
我几乎立即在第 408 行收到错误“ERROR 2006 (HY000): MySQL server has gone away”。我在 stackoverflow 上阅读了有关相同错误消息的其他帖子,并尝试了以下方法:
修改 my.cnf 以包括:
[mysqldump]
快速
max_allowed_packet = 64M
然后我重新启动了mysql。顺便说一下,文件大小实际上只有5.2mb
- 尝试使用 phpmyadmin 创建转储文件。
- 我认为这不是超时问题,因为它在导入过程中 2 秒后死亡。
我打开了 mysql 转储文件并检查了它正在轰炸的行号,它是从第 43 行开始的大量插入语句的一部分。我不确定它是否相关,但第 406 行以不完整的开头细绳:
第 402 行----> (341,1996,12,'
第 403 行---->front'),(341,1996,12,'interior'),(341,1996,12,'rear'),(341,1996,13,'front'),(341, 1996,13,'内部'),(341,1996,13,'后部'),(341,1996,14,'前部')
但是话虽如此,所有前面插入的记录看起来都是一样的......所以我认为这也不是问题所在。
任何建议,将不胜感激。