【问题标题】:How to achieve redundancy between 2 tables of different databases?如何实现不同数据库的2个表之间的冗余?
【发布时间】:2017-09-11 22:48:34
【问题描述】:

首先我想说我已经检查了这两个问题:

Sync 2 tables of different databases - MySQL

How to synchronize two tables of different databases on the same machine (MySql)

但虽然相似,但它们不是我需要的。

我在同一台服务器上有 2 个数据库。

Db1 和 Db2

两个数据库都有一个名为“user”的表的精确副本:

userid 
login 
name 
lastname 
password 
level

如何在不同数据库中的这两个表之间实现某种冗余?

如果 db1.user 获得一条新记录,则 db2.user 必须拥有该记录,如果一条记录被修改,则另一条被修改,如果被删除,则另一条也被删除。

更具体地说,db2.user 需要是 db1.user 使用触发器的反射。

编辑:有这个问题:Mysql replication on single server 这与我想要做的事情还相差甚远。在我之前发布的内容的最后,我更新了一点,感谢一个建议,我想如何实现这一目标。

【问题讨论】:

  • 换句话说,您想减少冗余。您可以使用触发器来完成此操作。
  • @Strawberry 您选择的副本完全不正确。问题中已经提供了两个合适的选项。
  • @strawberry 那不是我要找的。​​span>
  • @EJP 你介意解释一下我如何通过触发器来做到这一点吗?这听起来更像我正在寻找的东西。

标签: mysql


【解决方案1】:

按照建议,您可以使用this standard documentation 中所述的触发器。 您在 db1.user 上定义 AFTER INSERT、AFTER UPDATE 和 AFTER DELETE 触发器,并且在此触发器中,您有 NEW.object 将信息传递到 db2.user 表中。

【讨论】:

    猜你喜欢
    • 2011-08-17
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-10
    相关资源
    最近更新 更多