yuelu86
(小牛试刀)
1
为提高效率,提问时请尽量提供详细背景信息,问题描述清晰可优先响应。以下信息点请尽量提供:
测试环境下,原来tidb版本是V2.1.0 docker部署
现在tidb版本是V3.0.0 docker容器部署
部署过程,将原来数据备份后,然后倒入到新tidb中
问题:
现在发现有一个联合查询出来的数据(中文)是乱码,单独查这张表是正常显示;sql如下
查询结果如下:
show variables like “%char%”; 结果如下:
sql中的表 CHARSET=utf8mb4 COLLATE=utf8mb4_bin 都一样
请给一个排除的方向,谢谢!
yuelu86
(小牛试刀)
3
1.已经排除客户端和服务查询结果不一样的问题(查询结果都出现乱码)
2.数据存放没问题,在表里的数据是正常的。
3.通过mydumper备份,然后通过 loader -c config.toml 恢复
刚刚同事将查询sql语句 从右关联改成左关联后,就能正常查出数据了。

yilong
(yi888long)
4
您好:
是否能将使用到的建表语句包含索引, 给2条测试insert语句, 及查询语句发送下,我在测试环境验证一下,多谢。
yuelu86
(小牛试刀)
6
不好意思,我们通过insert插入部分数据(200条,docker环境)无法复现乱码问题,同时也因为数据中带有业务数据,而且涉及到的关联表中的数据是超过了 400W条,实在不方便脱敏,不能呢提供给你验证。
同时在我们的其他测试环境中有一套Ansible部署的 V3.0.5版本中通过loader 恢复后右关联查询出来数据显示正常。 使用docker部署的环境中使用loader 恢复和Navicat 数据同步都出现了乱码问题。
docker 环境tidb版本如下:
Release Version: v4.0.0-alpha-838-gb84c5a73a
Git Commit Hash: b84c5a73ad139970bec9503ee84f86cf3cb1db1c
Git Branch: master
UTC Build Time: 2019-11-12 09:50:11
GoVersion: go version go1.13 linux/amd64
Race Enabled: false
TiKV Min Version: v3.0.0-60965b006877ca7234adaced7890d7b029ed1306
Check Table Before Drop: false
而且 docker环境使用的镜像是昨天晚上新下载的
docker pull pingcap/tidb:latest
docker pull pingcap/tikv:latest
docker pull pingcap/pd:latest
yilong
(yi888long)
7
您好:
由于不建议在docker下部署,并且问题也没有复现。 您也不方便提供语句。 还是建议使用ansible部署,多谢。
yuelu86
(小牛试刀)
8
恩,由于固态硬盘的限制,我们以后考虑Ansible部署
system
(system)
关闭
10
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。