上下游集群版本一致都是 7.5.5 ,利用 BR 恢复集群报错:Error: [ddl:1115]Unknown character set: ‘utf8mb4’
Error: [ddl:1115]Unknown character set: ‘utf8mb4’ 问题应该是一个有关字符集兼容性问题。
可以在非生产环境,尝试:修改 TiDB 配置参数,设置默认字符集为 utf8。看看能不能解决
这个改过了,上下游都一致的,不然BR恢复直接会报这个参数不一致的错误
是重新部署的集群么?这个参数只有在部署集群的时候才生效,后面再改是没效果的。
是新部署的 你不改成一致的 br 都导不进去的
show variables like ‘%character%’;show variables like ‘%collation%’;上下游执行下这两个,看下结果
手动执行一个测试下
可以发下执行的命令和报错的日志么
br restore full --pd xxx2379
–storage xxx
–s3.endpoint xxx
–s3.region ‘us-east-1’
–send-credentials-to-tikv=true
–log-file xxx
–checksum=false
有个类似的issuse,但是显示已经合并并发布了,按理说不会有这个问题,你这个备份是什么时候备份的,备份的命令是什么,备份到现在这段时间字符集之类的有没有改过
备份的集群是不是老版本升级上来的?
昨天备份的,备份期间没有改过
是的,备份的是个测试环境的集群,从老版本升级上来的
br也是7.5.5吧?如果能拿到执行的ddl就好了,就能定位到是哪个表哪个语句了。
是的 关键看不到 我打算拿 dumpling 等下试试
结帖,后面物理备份写脚本,按库恢复,确实发现有一个库恢复报错 :Error: [ddl:1115]Unknown character set: ‘utf8mb4’ ,该库后面直接采取逻辑备份了,之后就可以正常cdc同步了
会不会是库默认字符集是utf8,表字符集是utf8,然后字段的字符集设置为utf8mb4?
突然想到,会不会跟sql_mode有关,之前一遇到严格控制,就往这边想。