我有一个新的数据库,类似于旧的数据库,但有更多的列和表。所以旧表上的数据仍然可用,需要转移。
旧数据库与新数据库位于不同的服务器上。我想将数据从一个数据库传输到另一个数据库。
我有navicat,但似乎需要永远使用主机来托管数据传输。另外下载一个sql文件然后执行它也需要太长时间(它每秒执行大约4次插入)。
下载的SQL文件大约为40mb(带有完整的插入语句)。最后一个可能是60mb到80mb。
传输此数据的最佳方法是什么? (我需要重复几次测试过程)
答案 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 感谢