将数据从MySQL DB 1传输到MySQl DB 2的最快方法

时间:2009-01-29 17:31:05

标签: mysql data-transfer

我有一个新的数据库,类似于旧的数据库,但有更多的列和表。所以旧表上的数据仍然可用,需要转移。

旧数据库与新数据库位于不同的服务器上。我想将数据从一个数据库传输到另一个数据库。

我有navicat,但似乎需要永远使用主机来托管数据传输。另外下载一个sql文件然后执行它也需要太长时间(它每秒执行大约4次插入)。

下载的SQL文件大约为40mb(带有完整的插入语句)。最后一个可能是60mb到80mb。

传输此数据的最佳方法是什么? (我需要重复几次测试过程)

4 个答案:

答案 0 :(得分:4)

在源计算机上执行mysqldump,然后在另一侧进行插入,即使是40-100MB的文件也是合理的。从命令行执行。

(source machine)
mysqldump -u user -p password database > database.sql

..将文件传输到收件人机器......

(recipient machine)
mysql -u user -p password database < database.sql

答案 1 :(得分:0)

您是否不能先传输部分数据进行测试?然后,当您对测试结果满意时,转移整个事物?

答案 2 :(得分:0)

  

(每秒执行约4次插入)

这听起来更像是你的数据库有问题。你确定没问题吗?

答案 3 :(得分:0)

Cody,谢谢你的指示。出于某种原因它对我不起作用,但下面的确在我的redhat linux服务器上:

(收件人机器) mysql -u [username] -p -h localhost database&lt; database.sql

(源机器) 我刚刚使用php myadmin

是否有一个命令可以运行以从另一个服务器拉出数据库:mysqldump -u [username] -p -h [host address] [dbname]&gt; [文件名] .SQL 感谢