将表从主MySQL服务器动态分区到远程mySQL服务器

时间:2016-03-06 08:53:07

标签: mysql partitioning database-partitioning distributed-database

我的数据库中有一个表,我需要根据外键属性进行分区。因此,分区表的数量与外键的不同值的数量相同。

编辑: 我有复制设置,其中主服务器中的表被复制到四个从服务器中。从属服务器不需要在主服务器中复制WHOLE表,而只需要复制它的一个分区,如图所示。怎么能实现这个?

Image: Replicating partitions

1 个答案:

答案 0 :(得分:0)

根据需要访问哪些设备,将数据拆分为单独的表或单独的数据库。然后有3层:

大师 - >继电器 - >设备

每个中继都是从属(对主)和主对一(或多)设备。在中继中,您要转到设备的表格被声明为ENGINE=BLACKHOLE。继电器中的其他表正常声明。

中继可以与主服务器位于同一服务器上,但是您需要单独的mysqld实例,每个实例都有一个单独的端口(3306除外)。开销相当小,特别是因为继电器除了切换数据的子集外什么也没做。

修改(基于图片)

要限制Slaves中的 space ,请在Slaves上使用“replicate_do / ignore”命令。这不会减少主机或从机的带宽。然后,replicate_ *设置将丢弃大部分复制数据。

如果您需要将带宽限制为 Slaves,请介绍上述继电器和Blackhole。