我在一个 mysql 服务器 database_master
和 database_backup
中有两个数据库。
我希望 database_backup
复制在 database_master
中插入或更新的所有新数据。
但是如果database_master
上有一些数据被删除了,database_backup
上的数据仍然会保留。
我们如何在 MySQL 中做到这一点?
最佳答案
明确地说,我认为您想要复制,而不是复制记录的删除。这不能用 native 复制来完成(既不是基于行也不是基于语句)。主要原因是如果在主数据库上删除一行然后插入一行新行可能会获得旧行的主键。在副本数据库上,这会导致 key 冲突。
但是,要进行某种黑客审计日志记录,您可以在从属 mysql 服务器上为每个实际的 DB 表创建一个日志记录表。例如,如果您有一个表 foo
,您将创建一个相应的 foo_logging
表。日志记录表将包含原始的每一列,以及一个单独的自动递增主键。然后,您可以在原始表上放置一个触发器,以将任何新记录或更新记录的副本插入到其对应的日志记录表中。
关于单机MySQL异步数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12203618/