canal-json 协议同步 mediumblob 出现乱码,如何处理?

使用 Canal JSON 协议同步 MySQL,mediumblob 二进制数据消费后显示乱码,官方不支持自动 Base64 转换,请问线上通用处理方式是什么?

1 个赞

DM 的全量同步基于 dump/load 模式,增量同步基于 binlog 拉取和回放。增量延迟的本质是 binlog 消费速度跟不上生产速度,常见瓶颈在 worker 线程数、目标库写入能力、或者网络带宽。建议先看 dm_worker 的 metrics。

TiDB 会自动做数据重分布,无锁表、不阻塞读写;但会产生后台 IO / 网络 / CPU 开销,高峰期可能导致延迟上升、锁冲突加剧。建议低峰操作,并预分裂 Region避免热点。

感觉是Canal在传输二进制数据时默认用了ISO-8859-1编码,导致中文等非ASCII字符被强行“翻译”成了乱码。

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。