当前位置: 首页 > news >正文

AWS DMS MySQL为源端,如何在更改分区的时候避免报错

问题描述:

文档[1]中描述MySQL compatible Databases作为DMS任务的源端,不支持MySQL 分区表的 DDL 更改。

在源端MySQL进行分区添加时,日志里会出现如下报错:

[SOURCE_CAPTURE  ]W:  Cannot change partition in table 'members'. Altering partitions is not currently supported  (mysql_endpoint_capture.c:1988)
[SOURCE_CAPTURE  ]W:  Suspending table 'members', table id '2'  (mysql_endpoint_capture.c:1784)

分析过程 及 解决方案:

文档[1]里已经有明确的说明:

  • AWS DMS 不支持 MySQL 分区表的 DDL 更改。要跳过 CDC 期间因分区 DDL 更改而暂停表的情况,请将 skipTableSuspensionForPartitionDdl 设置为 true

但是其实这个描述不是很准确,因为MySQL作为源端DMS Endpoint其实不支持这个 endpoint setting. 进行这个操作是会出现报错的:

The endpoint setting "skipTableSuspensionForPartitionDdl" for endpoint engine "mysql" isn't valid. Please correct it and try again.

这个部分应该加在eca部分:

点击MySQL Source的Actions - modify页面,将Use endpoint connection attributes 前面的对钩勾上,然后在Extra connection attributes下面把这部分加入就行:

skipTableSuspensionForPartitionDdl=true

之后点击save。

在加上这个ECA以后,源端MySQL再次更改partitions就不会报错了,日志里是如下信息:

00009418: 2024-07-22T05:09:54 [SOURCE_CAPTURE  ]I:  set_columns_orig_type for shiran.members  (mysql_endpoint_metadata.c:643)
00009418: 2024-07-22T05:09:54 [SOURCE_CAPTURE  ]I:  Skip suspension for table 'members' when table partition DDL event received  (mysql_endpoint_capture.c:1978)

参考文档:

[1] 将与 MySQL 兼容的数据库作为 Amazon DMS源 - Amazon 数据库迁移服务

http://www.lryc.cn/news/407552.html

相关文章:

  • Java从基础到高级特性及应用
  • JavaScript(17)——事件监听
  • Dav_笔记11:SQL Tuning Overview-sql调优 之 4
  • vue3引入openlayers
  • 大数据管理中心设计规划方案(可编辑的43页PPT)
  • Android --- 广播
  • AR 眼镜之-蓝牙电话-实现方案
  • stl-set
  • 【Stable Diffusion】(基础篇五)—— 使用SD提升分辨率
  • 5.CSS学习(浮动)
  • Spring Cloud微服务项目统一封装数据响应体
  • java算法day20
  • web自动化测试-python+selenium+unitest
  • LeetCode题练习与总结:组合两个表--175
  • 数据结构:二叉搜索树(简单C++代码实现)
  • 深入理解Prompt工程
  • 代码随想录算法训练营day6 | 242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1.两数之和
  • vue3 vxe-table 点击行,不显示选中状态,加上设置isCurrent: true就可以设置选中行的状态。
  • Linux没有telnet 如何测试对端的端口状态
  • 花几千上万学习Java,真没必要!(二十九)
  • C#如何引用dll动态链接库文件的注释
  • WordPress原创插件:自定义文章标题颜色
  • Unity分享:继承自MonoBehaviour的脚步不要对引用类型的字段在声明时就初始化
  • .NET Core中如何集成RabbitMQ
  • 嵌入式C++、STM32、MySQL、GPS、InfluxDB和MQTT协议数据可视化:智能物流管理系统设计思路流程(附代码示例)
  • .net core docker部署教程和细节问题
  • php数据库链接
  • python+vue3+onlyoffice在线文档系统实战20240726笔记,左侧菜单实现和最近文档基本实现
  • vue中的nexttrick
  • 【BUG】已解决:ModuleNotFoundError: No module named ‘requests‘