gpt4 book ai didi

mysql - 我可以使用自制代码镜像数据库中的更改吗?

转载 作者:搜寻专家 更新时间:2023-10-30 23:18:51 25 4
gpt4 key购买 nike

我有几个需要“监听”的mysql数据库和表。我需要知道哪些数据发生了变化,并将这些变化发送到具有数据库本地镜像的远程服务器。

如何镜像 mysql 数据库中的更改?我正在考虑设置将所有更改写入另一个表的 mysql 触发器。该表具有数据库名称、表名称和所有列。然后我会编写自定义代码来传输更改并定期将它们安装在远程镜像上。这会满足我的需求吗?

最佳答案

您的计划 100% 正确。

那个额外的表称为“审计”或“历史”表(存在细微差别,但您不必太在意 - 但您现在拥有可用于进一步研究的“官方”术语)。

如果主表有 A、B、C 列,那么审计会多出 3 列:A、B、C、Operation、Changed_By、Change_DateTime(名称取决于您的喜好和编码标准)。

“操作”列存储更改是插入、删除、更新的旧值还是更新的新值(通常是 3 个字符宽,操作为“INS”/“DEL”/“U_D”和“U_I” ",但还有其他方法)。

审计表中的数据通过主表上的触发器填充。

然后确保 Change_DateTime 列上有索引。

要查找更改列表,请跟踪上次轮询的时间,然后简单地执行

SELECT * FROM Table_Audit WHERE Change_DateTime > 'LAST_POLL_TIME'

关于mysql - 我可以使用自制代码镜像数据库中的更改吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9280144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com