将包含 1.3 MIL 记录的表从一个 MysQL 服务器移动到另一个服务器(在不同的物理服务器上)


Move Table with 1.3 MIL records from one MysQL Server to Another (on different physical servers)

我们运行了一个查询,它是一个从选择语句插入,它实际上在几秒钟内完成 - 并且能够轻松插入 130 万条记录。

我们有新的要求。正在创建和插入的表现在必须存在于同一子网上的不同 mysql 服务器上。

如何做到这一点?最有效的方法是什么?我们是否应该在文件级别备份表,并将其复制到新服务器?

或者我们应该对两个数据库运行查询,如果是这样 - 需要多长时间?

我们需要手动执行此过程 -

下面是我们用于执行此操作的当前代码的示例:

$populateNewTable = "insert into tbl_free_minutes_".strtolower(date("M")).date("Y")." (cust_id,telephone_number,state,created_datetime,plan_id,requested_planid) SELECT id,telephone_number,state,created_datetime,plan_id,requested_planid FROM tbl_customer WHERE created_datetime <= '".$date." 23:59:59' AND account_status IN ( 'Active', 'ActiveLL','Suspend') AND  plan_id IN ('14','13','15','16','17','19','20','21','22','23','24','60','26', '27','28','29','30','31','32','33','34','38','39','40','44','45','46','47','48', '49','50','51','52','53','54','55','56','57','58','59','35','36','66','63','64', '65','67','68','69',76,77,78,79,82,83,84,85,86,87,88,89,93,94,95,96) and unlimited_plan != 'Y' ";

萨斯

我建议使用"选择...进入输出文件"以提取第一台服务器上的数据。
然后将查询创建的文件传输到第二台服务器。
最后,在第二台服务器上使用"加载数据文件"在表中加载数据。

一些链接:

http://dev.mysql.com/doc/refman/5.5/en/select-into.htmlhttp://dev.mysql.com/doc/refman/5.5/en/load-data.html

相关文章: