在 MySQL 个数据库之间同步一个 table

Synchronize one table between MySQL database(s)

我们有跨多个MySQL数据库同步table中数据的需求。其中一个数据库将是源,所有其他数据库都需要具有 table 之一的同步数据。

我们在微服务架构中使用了多个数据库,它们都需要在其数据库中拥有特定 table 的本地副本,而不是整个数据库本身,因此只读副本或多可用区配置不是解决方案。

数据库:MySQL 托管在 AWS RDS

A​​WS 或其他供应商是否提供任何托管服务来实现此目的?还是我们必须编写自定义脚本才能做到这一点?

这是一个简单的 MySQL 复制。但是你必须复制整个数据库。因此,在 AWS 中创建一个 MySQL 数据库并启用 Multi-AZ 复制并激活自动快照。

A-Z 复制是同步的。当您使用 "Read replica" 时,它是异步的。因此,如果您有非常重要的数据,您应该启用 Multi-AZ 复制。

https://aws.amazon.com/rds/details/multi-az/?nc1=h_ls

我认为您必须在一个数据库中隔离 table 并复制该数据库或编写自定义脚本。

如果我正在编写自定义脚本,我会查看 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(在底部)。