我试图从包含数百个表的数据库中导出大约 150GB 的数据,并且发现 mysqldump 非常有问题。
运行简单的 --all-databases 转储成功后,但导入总是遇到随机(和频繁)错误。这些通常是 SQL 语句中的语法错误,因为转储文件中的引号转义不正确。
我之前通过复制实际数据文件完成了原始数据传输,但是我试图导入的目标服务器不允许我访问文件系统。
对于非常大的导出/导入,是否还有其他工具比 mysqldump 更少错误?
我在文档中看到数据库备份工具分为四类:热备份、冷备份、物理备份和逻辑备份。
我理解冷备份和热备份最重要的区别是后者可以在数据库运行和接收读写查询时完成(并且结果将是一致的和原子的)。
但是,我怎么知道 mysqldump 有这个“热”方面还是“冷”方面?文档只是将它放在logical backup
类别中,对此并不是 100% 清楚(是的,它似乎提到它在 mysqldump 过程开始时使用相同的数据库快照,这表明它绝对是一个热备份工具,但是只是想在这里仔细检查一下)。
这些表使用 InnoDB 引擎。