qihuajun
(Qihuajun)
1
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:3.0.9
- 【问题描述】:使用mydumper导出的SQL文件在使用loader导入的时候报错退出
错误:
[fatal] restore data file (ation_05.status.000000033.sql) failed, err: [invalid insert sql][sql]INSERT IGNORE INTO
statusVALUES('2019-05-26','*',*,0,0,0,0,0,'2019-07-24 14:22:55','2019-08-20 02:54:36'),('2019-05-26','*',0,0,0,0,0,0,'2019-07-24 14:22:55','2019-08-20 02:54:36');
执行的SQL语句是一个很长的批量插入语句,在TiDB上执行是可以成功的。而且我重启loader的话有可能会成功。
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
小王同学
2
您好,目前 loader 的设计是 loader 会在sql 里找 INSERT INTO,如果找不到(里面是 INSERT IGNORE INTO)就会报这个错。而实际上用日志输出或dump的sql文件内的sql去目标库执行insert ignore语句是完全没有问题的。另外不会在 loader 上面支持这个了。lightning 的 tidb backend 有 ignore 语义的支持。可以参考下。
https://pingcap.com/docs-cn/stable/reference/tools/tidb-lightning/overview/
tidb-lighting backend 方式不会影响集群的正常写入么,不会 switch-mode 么
来了老弟
4
你好,
TiDB Lightning 支持 Importer-backend(默认)和 TiDB-backend 两种后端,两者导入数据的区别如下:
-
Importer-backend :
tidb-lightning
先将 SQL 或 CSV 数据编码成键值对,由 tikv-importer
对写入的键值对进行排序,然后把这些键值对 Ingest 到 TiKV 节点中。
-
TiDB-backend :
tidb-lightning
先将数据编码成 INSERT
语句,然后直接在 TiDB 节点上运行这些 SQL 语句进行数据导入。
由于是从 tidb 端通过 sql 导入数据,所以 tidb-backend 模式的 tidb lighting 是不会影响集群的。所以依旧不涉及 switch-mode 。
此问题已结束,麻烦请开贴提问~
system
(system)
关闭
5
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。