单机MySQL异步数据库

标签 mysql

我在一个 mysql 服务器 database_masterdatabase_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/

相关文章:

mysql - 向 MySQL 表添加约束

mysql - 构造 SQL 查询以查找所有具有相同值的记录

c# - MySQL 随机关闭连接,在旧的 WinForms 应用程序 .Net 1.1 和 ODBC 中

mysql - 如何在mysql中编写电子邮件模式?

mysql - Gearmand 服务器完全锁定

mysql - 保修期已过?

mysql - 在mysql中对与字母数值混合的数值进行排序

php - 从 mysql 查询返回额外的项目

python - 按日期升序和降序排列的列

mysql - SQL:计算其他表中的百分比以及要过滤的用户百分比?