DTS订阅binlog
本文为您介绍如何使用数据传输服务DTS(Data Transmission Service)订阅AnalyticDB for MySQL Binlog,并实现AnalyticDB for MySQL集群之间的数据同步与增量迁移。
前提条件
AnalyticDB for MySQL产品系列为企业版、基础版、湖仓版和数仓版弹性模式。
AnalyticDB for MySQL集群的内核版本需为3.2.1.0及以上版本。
说明请在云原生数据仓库AnalyticDB MySQL控制台集群信息页面的配置信息区域,查看和升级内核版本。
AnalyticDB for MySQL集群已开启CDC功能。
说明CDC(Change Data Capture)功能用于捕获数据变更,支持增量数据同步和迁移。如需开启CDC功能或不清楚CDC功能是否已开启,请联系技术支持。
使用限制
XUANWU_V2表不支持开启Binlog,因此不能通过订阅Binlog实现AnalyticDB for MySQL集群之间XUANWU_V2表的数据同步与增量迁移。
操作步骤
登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表。在集群列表上方,选择产品系列,然后单击目标集群ID。
开启Binlog功能,本文以表名为source_table为例。
说明AnalyticDB for MySQL仅支持按表开启Binlog功能。
建表时,开启Binlog
CREATE TABLE source_table ( `id` INT, `num` BIGINT, PRIMARY KEY (`id`) )DISTRIBUTED BY HASH (id) BINLOG=true;
建表后,开启Binlog
ALTER TABLE source_table BINLOG=true;
(可选)修改Binlog保留时长。
您可以通过修改
binlog_ttl
参数来调整Binlog的保留时长,参数默认值为6h。以下示例表示将表source_table的Binlog保留时长设置为1天。ALTER TABLE source_table binlog_ttl='1d';
binlog_ttl
参数取值支持以下格式:毫秒:纯数字。示例:
60
代表60毫秒。秒:数字+s。示例:
30s
代表30秒。小时:数字+h。示例:
2h
代表2小时。天:数字+d。示例:
1d
代表1天。
说明建议您设置的Binlog保留时间不小于
binlog_ttl
参数的默认值。若设置的保留时间过短,可能会导致文件被清理,影响数据同步。如果您需要查看当前Binlog保留时长,执行语句
SHOW CREATE TABLE source_table;
。
(可选)查看Binlog信息。
说明使用以下语句查看Binlog日志信息时,若仅开启Binlog功能,日志信息显示为0。只有成功订阅Binlog后,才会显示日志信息。
若您需要获取Binlog最新写入的文件名和位置信息,请执行以下SQL语句:
SHOW MASTER STATUS FOR source_table;
若您需要了解所有未清理的历史Binlog文件及其大小,请执行以下SQL语句:
SHOW BINARY LOGS FOR source_table;