maxwell版本:1.29.2
MySQL版本: 8.0.29
使用maxwell往kafka里传递数据时,遇到了如下问题:
这个问题是因为MySQL从 5.5.3 开始,用 utf8mb4 编码来实现完整的 UTF-8,其中 mb4 表示 most bytes 4,最多占用4个字节。而原来的utf8则被utf8mb3则代替。
一种解决方案是,将MySQL降级,重新安装5.5.3以下的版本。
另一种方法则是修改maxwell源码。
首先在github上下载maxwell对应版本的源码。链接:https://github.com/zendesk/maxwell
解压打开,找到有问题的类:com.zendesk.maxwell.schema.columndef.StringColumnDef,加上能识别utf8mb3的语句。
重新打包,上传即可。
如果是使用的尚硅谷的教学版maxwell,可以打包后,取出里面的StringColumnDef.class,复制粘贴到教学版对应位置。
重启maxwell。
maxwell文件:
链接: https://pan.baidu.com/s/13kSEK345Wsr1QlrchPv4iA?pwd=jzc1 提取码: jzc1 复制这段内容后打开百度网盘手机App,操作更方便哦