【 TiDB 使用环境】生产环境
【 TiDB 版本】tidb v.6.5.1 dm v5.4.0
【复现路径】dm syncer阶段
【遇到的问题:问题现象及影响】
数据出现错误,影响使用
【资源配置】
【附件:截图/日志/监控】
TiDB DM 在同步 JSON 类型字段时,会将 JSON 数据以 base64 编码的方式进行传输和存储。这是因为 JSON 类型的数据可能包含特殊字符,例如双引号、换行符等,如果直接传输和存储可能会导致数据解析错误。因此,为了保证数据的正确性,TiDB DM 会将 JSON 数据进行 base64 编码,然后再进行传输和存储。
在 TiDB DM 中,这个功能是由 Syncer 组件实现的。Syncer 会对 JSON 类型的数据进行检测,如果检测到 JSON 数据中包含特殊字符,就会将其进行 base64 编码。在数据同步完成后,DM Worker 会将 base64 编码的数据解码成原始的 JSON 数据,然后写入到下游 TiDB 中。
需要注意的是,如果您在使用 TiDB DM 进行数据同步时,发现 JSON 类型的数据被 base64 编码了,这是正常的行为,不需要进行额外的处理。在读取数据时,您需要对 base64 编码的数据进行解码,才能得到原始的 JSON 数据。
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。