我需要创建一个具有多个数据库的系统,其中一个是主数据库,该数据库只需将结构更改复制到其他数据库,例如:
当我在系统中注册新用户时,系统会自动创建主数据库的结构副本,但该数据库不会将插入的寄存器或更新发送到主数据库,只有主数据库在更新时将所有结构更改发送到从数据库,因此我需要创建一个脚本或实现工具来捕获数据库更新,以实时在所有从站上执行更新。
我向 AWS 支持发送了一个问题,他们建议我实现一个 phyton 脚本或集成另一个允许进行二进制日志流的库,以将这些更改复制到从属的数据库。
AWS 支持回答:
您可以在此处遵循本指南[1],您可以跳过 Kinesis(AWS 服务)部分,直接编写代码,而不是将其放入 Kinesis 流中。您需要在数据库集群上启用 binlog 并收听日志。根据事件,您可以添加逻辑以对子数据库执行数据库更新。为了复制您的主数据库架构,我建议在任何子数据库需要配置和导入该架构之前使用 mysqldump CLI 工具导出主数据库的架构。然后使用 binlog 脚本根据您编写的逻辑将更改推送到您的子数据库。
[1] https://aws.amazon.com/blogs/database/streaming-changes-in-a-database-with-amazon-kinesis/