我有一个 200+GB 的 mysql 转储文件,我需要将其导入到在我的开发机器上运行的本地 sql 服务器。我尝试使用“mysql < db_backup.sql”方法进行天真的转储恢复,并在遇到“mysql 服务器已消失”错误之前设法恢复了大约 85% 的数据库。这花了大约 5 天的时间。
我想知道是否有一种方法可以将部分恢复的数据库与转储文件进行比较,以了解哪些表仍在等待处理,或者是否有一种明显(至少 4 倍)更快的方法来从巨大的转储文件中恢复。
如有任何建议,我们将不胜感激。 谢谢。
最佳答案
我遇到过类似的问题,但信息少得多(数百 MB,而不是 GB)。我试过BigDump ,它会拆分查询中的内部内容,这样您的恢复操作就不会超时(我认为这是错误的原因 - “mysql 服务器已经消失”)。
不过,如果你能控制转储的获取方式,我会考虑拆分数据来恢复和优化导出。一种方法是将大型表数据拆分为单独的转储。
此外,所有插入都可以定义为扩展插入(一个 INSERT 具有多个插入值),以节省一些空间。
关于mysql - 巨大的 mysqldump 导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41100185/