将数百万个mysql数据迁移到PHP脚本中具有不同结构的不同数据库

时间:2014-10-24 08:59:40

标签: php mysql multiprocess

我有4百万个数据,我需要在新的MySQL数据库中迁移一些列。 我需要一个PHP脚本,我可以在没有任何内存故障和任何数据的情况下运行。

我发现使用multibatch进程会更好。任何人都可以建议什么是更好的选择,以及如何在PHP和Linux中做到这一点?

1 个答案:

答案 0 :(得分:1)

如果两个数据库位于同一台服务器上,那么即使跨数据库,您也可以通过SELECT INTO获得良好的性能。否则,您可以导出数据,并使用加载数据将其导入新结构13.2.6 LOAD DATA INFILE Syntax

如果您真的决定使用php,那么我建议在队列中使用后台工作程序 - 这样每个工作人员可以处理少量记录(可能是1000个 - 避免内存问题)。这需要一段时间才能运行,也需要设置。我们已经将php-resque用于类似的事情(将数据从数据库运行到redis)并取得了很好的成功。