我们需要跨多个MySQL数据库同步表中的数据。其中一个数据库是源,其他所有数据库都需要为其中一个表提供同步数据。
我们在微服务架构中使用了多个数据库,它们都需要在其数据库中拥有特定表的本地副本,而不是整个数据库本身,因此只读副本或多可用区配置不是解决方案。 / p>
数据库:在AWS RDS上托管的MySQL
AWS或其他供应商是否有可用于实现此目的的托管服务?或者我们是否必须编写自定义脚本来执行此操作?
答案 0 :(得分:2)
这是一个简单的MySQL复制。但是你必须复制整个数据库。因此,在AWS中创建一个MySQL数据库并启用多可用区复制并激活自动快照。
A-Z复制是同步的。当您使用“Read replica”时,它是异步的。因此,如果您有非常重要的数据,则应启用多可用区复制。
答案 1 :(得分:1)
我认为您必须将表隔离在一个数据库中并复制该数据库或编写自定义脚本。
如果我正在编写自定义脚本,我会查看binlog功能。以下是一些有用的链接:
https://dev.mysql.com/doc/refman/5.7/en/mysqlbinlog.html
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MySQL.html(在底部)。