使用dumping备份表报错given slice is too small to serialize the message

你这里 dumpling 参数用了 -r 200w,也就是说一个文件保存 200w 条以内的记录。

当 dumpling 设置 -r 参数时候,dumpling 会通过 int类型的主键或者唯一索引来预估数据范围,通过并发读取加快导出数据速度。

看 dumpling 报错日志为 WHERE id >=221924767 and id <225506177,这个时候导致了问题,应该就是预估这个范围有 200w 条记录,导致 copr 实际记录过多导致出现问题。

所以你可以试下将 -r 参数调小,减少 where id 的范围,是的 copr 达不到 4G:

dumpling -r 10w …