aurora 单笔查询比mysql_排查将 Aurora MySQL 作为 AWS DMS 源使用时的二进制日志记录错误...

当使用Aurora MySQL作为AWS DMS任务的源时,若遇到二进制日志记录错误,需确保在写入实例上启用二进制日志记录。错误可能源于不支持只读副本作为CDC源或log_bin参数关闭。解决方案包括连接到集群写入实例,检查并设置binlog_format为ROW,重启实例以应用变更,然后验证二进制日志记录已开启。
摘要由CSDN通过智能技术生成

如何排查将 Aurora MySQL 作为 AWS DMS 源使用时的二进制日志记录错误?

上次更新时间:2019 年 10 月 1 日

我有一个运行 MySQL 并启用了二进制日志记录的 Amazon Aurora 数据库实例。我将 Aurora 数据库实例作为一个 AWS Database Migration Service (AWS DMS) 任务的源,但我收到了一条错误消息。如何排查并解决此错误?

简短描述

您必须在源 Aurora MySQL 数据库写入实例上启用二进制日志记录,才能在配置了“完全加载和 CDC”或“仅 CDC”模式的 AWS DMS 任务中执行更改数据捕获 (CDC) 操作。您必须使用写入实例,因为不支持将只读副本作为 CDC 操作的源。有关更多信息,请参阅将 MySQL 数据库作为 AWS DMS 源的限制。

如果不启用二进制日志记录,或您连接的是读取实例,则您会看到一个与以下类似的日志条目:

消息

[SOURCE_CAPTURE ]I: System var 'log_bin' = 'OFF'

[SOURCE_CAPTURE ]E: Error Code [10001] : Binary Logging must be enabled for MySQL server [1020418] (mysql_endpoint_capture.c:366)

解决方法

如果您连接的是读取实例,请首先找到写入实例,然后使用 AWS DMS 连接到该写入实例。最佳实践是连接到集群终端节点,因为集群终端节点始终会指向集群的当前写入实例。

然后再使用集群终端节点连接到源 Aurora 集群写入节点,以确认启用了二进制日志记录:

mysql> show global variables like "log_bin";

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| log_bin | OFF |

+---------------+-------+

如果 log_bin 参数设置为 OFF,则检查 Aurora 集群的集群参数组 以确认 binlog_format 参数是否设置为 ROW。如果 binlog_format 未设置为 ROW,请修改该参数以为 Aurora for MySQL 启用二进制日志记录。

注意:这是一个静态参数,因此您必须重启 Aurora 实例才能使此更改生效。

在将 binlog_format 参数设置为 ROW 后,请连接到您的 Aurora 实例以确认是否启用了二进制日志记录:

mysql> show global variables like "log_bin";

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| log_bin | ON |

+---------------+-------+

在启用二进制日志记录并确认您将集群写入终端节点用于 AWS DMS 后,重新启动任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值