在一段时间后完成所有MySQL更改

问题描述 投票:0回答:2

我有一个系统,其中有一个mysql数据库,其中进行了更改。然后我每隔十分钟左右就有其他机器连接到这个mysql数据库,并重新下载有关它们的表(例如,一台机器可能下载表A,B,C,而另一台机器可能下载表A,D,E )。

如果不使用Debezium或Kafka,有没有办法在某个时间戳之后完成所有MySQL更改,以便只将这些更改发送到请求更新的计算机,而不是整个表? ...例如,机器X可能希望自上次联系mysql数据库以来完成所有mysql更改,然后将这些更改应用于其自己的旧数据以进行更新。

有办法做到这一点吗?

mysql database-replication
2个回答
1
投票

MySQL可以设置为自动复制数据库,表等。如果连接丢失,它将在恢复连接时赶上。

看看这个页面MySQL V5.5 Replication,或者这个MySQL V8.0 Replication


-1
投票

如果您不想或可以部署Kafka群集,可以将Debezium用作应用程序中的library embedded

或者,您可以直接使用MySQL Binlog Connector(它也由下面的Debezium连接器使用),它允许您从给定的偏移位置读取binlog。但是,你必须自己处理很多事情,这些事情已由Debezium等解决方案处理,例如正确处理模式元数据和更改(例如,向现有表添加列)。通常这涉及解析MySQL DDL,这本身就非常复杂。

免责声明:我是Debezium的领导者

© www.soinside.com 2019 - 2024. All rights reserved.