![](/img/trans.png)
[英]Does AWS RDS support two way replication with local MySQL database?
[英]What is the best way to automate replication of RDS (MySQL) schema to AWS Redshift?
我们使用ruby脚本将数据从MySQL迁移到Redshift(PostgreSQL)。当前,我们使用YAML配置文件来维护架构信息(列名和类型)。因此,每当更改MySQL表时,我们都需要手动更改YAML文件。 ,我们正在考虑将YAML配置作为JSON对象移至数据库(PSQL)。 但是仍然需要手动更改架构配置,我们希望使流程自动化(最好使用Ruby)。
PS:我们使用bin-log增量更新AWS Redshift中的数据。
有两种可能的解决方案。
第一个是使用AWS Data Pipeline。 这是一项在不同的AWS计算和存储服务之间移动数据的服务。 ( https://aws.amazon.com/datapipeline/ )
另一种选择是使用数据集成工具,例如Alooma。 它可以近乎实时地将表从Amazon RDS上托管的MySQL数据库复制到AWS Redshift 。
它支持您正在使用的二进制日志复制方法。
请按照以下步骤复制数据:
为托管的MySQL设置bin-log:
要复制MySQL表,Alooma需要将基于行的复制设置为能够读取MySQL事件。
通过运行以下语句验证您的binlog是否已配置-返回的值应为ROW:
mysql> SHOW GLOBAL VARIABLES LIKE 'binlog_format';
验证您的binlog行格式设置为FULL:
mysql> SHOW GLOBAL VARIABLES LIKE 'binlog_row_image';
验证您的日志从属更新选项设置为“开”:
mysql>显示全局变量,如“ log_slave_updates”;
如果您的MySQL当前未设置为基于行的复制,则需要对其进行设置。
在my.cnf文件中(在/ etc / mysql /下)包括以下行。 以下示例适用于“原始” MySQL 5.6安装:
[mysqld] log-bin = mysql-bin服务器ID = 1 binlog_format = ROW log-slave-updates = true
确保重新启动MySQL服务器以获取更改。
创建一个Alooma用户,类似于MySQL从用户:
mysql>创建用户'alooma'@'%'由'YOUR_PASSWORD'标识;
mysql> GRANT REPLICATION SLAVE,SELECT,RELOAD,REPLICATION CLIENT,LOCK TABLES,EXECUTE ON 。 到'alooma'@'%';
mysql>冲洗特权;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.