Error Exporting Data from TiDB Using Dumpling

Note:
This topic has been translated from a Chinese forum by GPT and might contain errors.

Original topic: dumpling 从 tidb 导出数据报错

| username: Jennie

【TiDB Usage Environment】Production Environment
【TiDB Version】v6.2.0 / dumpling v6.5.0
【Reproduction Path】

tiup dumpling -h 127.0.0.1 -P 4000 -u root -p'xxxxx' --filter 'mydatabase.xx' --where "addr = xxxx" --filetype sql -o /tmp/tidb

【Encountered Problem: Problem Phenomenon and Impact】
dump failed error stack info
cannot convert string from binary to utf8mb4

[2023/02/23 10:51:38.186 +00:00] [ERROR] [main.go:77] [“dump failed error stack info”] [error=“Error 1105: cannot convert string from binary to utf8mb4”] [errorVerbose=“Error 1105: cannot convert string from binary to utf8mb4\ngithub.com/pingcap/errors.AddStack\n\tgithub.com/pingcap/errors@v0.11.5-0.20220729040631-518f63d66278/errors.go:174\ngithub.com/pingcap/errors.Trace\n\tgithub.com/pingcap/errors@v0.11.5-0.20220729040631-518f63d66278/juju_adaptor.go:15\ngithub.com/pingcap/tidb/dumpling/export.(*multiQueriesChunkIter).nextRows.func1\n\tgithub.com/pingcap/tidb/dumpling/export/ir_impl.go:86\ngithub.com/pingcap/tidb/dumpling/export.(*multiQueriesChunkIter).nextRows\n\tgithub.com/pingcap/tidb/dumpling/export/ir_impl.go:104\ngithub.com/pingcap/tidb/dumpling/export.newMultiQueryChunkIter\n\tgithub.com/pingcap/tidb/dumpling/export/ir_impl.go:73\ngithub.com/pingcap/tidb/dumpling/export.(*multiQueriesChunk).Rows\n\tgithub.com/pingcap/tidb/dumpling/export/ir_impl.go:361\ngithub.com/pingcap/tidb/dumpling/export.WriteInsert\n\tgithub.com/pingcap/tidb/dumpling/export/writer_util.go:152\ngithub.com/pingcap/tidb/dumpling/export.FileFormat.WriteInsert\n\tgithub.com/pingcap/tidb/dumpling/export/writer_util.go:660\ngithub.com/pingcap/tidb/dumpling/export.(*Writer).tryToWriteTableData\n\tgithub.com/pingcap/tidb/dumpling/export/writer.go:239\ngithub.com/pingcap/tidb/dumpling/export.(*Writer).WriteTableData.func1\n\tgithub.com/pingcap/tidb/dumpling/export/writer.go:224\ngithub.com/pingcap/tidb/br/pkg/utils.WithRetry\n\tgithub.com/pingcap/tidb/br/pkg/utils/retry.go:52\ngithub.com/pingcap/tidb/dumpling/export.(*Writer).WriteTableData\n\tgithub.com/pingcap/tidb/dumpling/export/writer.go:192\ngithub.com/pingcap/tidb/dumpling/export.(*Writer).handleTask\n\tgithub.com/pingcap/tidb/dumpling/export/writer.go:115\ngithub.com/pingcap/tidb/dumpling/export.(*Writer).run\n\tgithub.com/pingcap/tidb/dumpling/export/writer.go:93\ngithub.com/pingcap/tidb/dumpling/export.(*Dumper).startWriters.func4\n\tgithub.com/pingcap/tidb/dumpling/export/dump.go:356\ngolang.org/x/sync/errgroup.(*Group).Go.func1\n\tgolang.org/x/sync@v0.1.0/errgroup/errgroup.go:75\nruntime.goexit\n\truntime/asm_amd64.s:1594”]

dump failed: Error 1105: cannot convert string from binary to utf8mb4

【Resource Configuration】
【Attachments: Screenshots/Logs/Monitoring】

| username: YH-E5h3B | Original post link

It looks like a character set issue. Try adding character set related variables in the --params option.

| username: 裤衩儿飞上天 | Original post link

Try changing the dumpling version to 6.2.0.

| username: Jennie | Original post link

I tried version 6.2.0, and it gave the same error.

| username: Jennie | Original post link

Which specific variable are you referring to? All character sets in our cluster are set to the default utf8mb4.

| username: Jennie | Original post link

I switched to using the --sql method for execution. Exporting to CSV was successful.