基于记录的MySQL条件复制

时间:2010-10-18 04:38:13

标签: mysql mysqli mysql-management

我们的组织有一个非常大的数据库,可以复制到单独的全局服务器。

在我们的数据库中,某些表包含特定区域的数据,从而为这些区域内的用户提供独家信息的权限。

示例

  

transactions_australia, transactions_dubai

与区域表格相反,我们有全球表格,其中包含来自世界各地区的信息。

示例

  

person, address, contacts

我们面临的问题是,当向用户授予对此信息的特权时,我们会面临我们正在努力克服的安全风险。

首席程序员建议我们通过查询复制驻留在全局表中的数据,这些查询只能将特定区域数据提取到单独的数据库中,并在每次需要运行报表或提取数据时执行此复制。

我不完全同意这种方法,因为重复11个表(包含数十万条记录)的记录的时间将花费很长时间,而且数据完整性问题也是如此和同步是有风险的。

我正在寻找这种复制方法的替代方案。

有没有办法为某些服务器设置条件复制?

例如。

  

如果更新了个人记录,那么   人属于澳大利亚地区   然后记录会更新   主服务器和复制   只会发生在   相应的服务器。

还是有替代品吗?

我已经简要介绍了如何使用视图,但我认为他们不会从我们所追求的主要数据集中提供这种推断水平。

1 个答案:

答案 0 :(得分:0)

MySQL提供选择性复制,但最小的选择级别是。这是因为,在大多数情况下,表几乎总是独立于纯粹的数据库视点。尝试限制特定行的复制会严重损害数据完整性并成为数据库管理的噩梦:MySQL需要有关表的使用的更多信息,而不是设计用来处理。

在文档中的复制章节中,描述了系统设置以控制选择性表或数据库的复制。