tidb-lighting导入目标库后表里面数据重复,不是类似于mysqldump导出导入会将存在的表删除

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
6.2.0
【遇到的问题:问题现象及影响】
将生产环境库导入其他环境,结果发现lighting导入后数据库实例中不是只是生产数据,还有原来环境数据也在,想要的效果就是类似于mysqldump导出,mysql导入将原来存在的表drop掉~
【附件:截图/日志/监控】
tidb-lightning.toml 文件配置见图:

dumpling备份命令如下:
/root/.tiup/bin/tiup dumpling -u root -P 4000 -h IP -p密码 --filetype sql -t 8 -o /data/backup/${DATE} -r 20000 -F125MiB

你在导入之前drop掉那张表就可以了啊

tidb的dumpling导出的表结构语句大概是这样的
CREATE TABLE emp (
id int(11) DEFAULT NULL,
name varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
是没有mysqldump里面的DROP TABLE IF EXISTS t;这种语句的
你可以批量先把需要导入的表全部drop掉即可。

1 个赞

:rofl:自己封装个脚本删了吧

1 个赞

tidb-lightning在发现冲突时候,只有replace/ignore/error这三个选项,是不会主动drop表的。所以这种drop表的操作得自己操作。还有就是看你是导出成SQL文件的,其实也可以直接用myloader工具来导入,可以-o来drop表

是这个情况,直接dop多危险呀,需要人来加的

数据导入drop太危险,一般不会有这个功能