TiDB dumpling 导出MySQL 数据遇异常

发布时间 2023-08-20 10:48:27作者: UncleDBA

最近在学习研究TiDB 数据库运维,据介绍逻辑导出工具dumpling 是可以兼容MySQL 数据库的,于是进行了测试

数据库版本信息如下:

 新建了两张表t1,t2:

 利用存储过程批量插入500000 行记录:


drop PROCEDURE p_load2;

delimiter $$
create PROCEDURE p_load2(IN tbname varchar(64),IN count int unsigned)
BEGIN
declare s int;
set s=1;

start TRANSACTION;
while s <= count DO
SET @sqlStr:=CONCAT("insert into ",tbname,"(name) select substring(md5(rand()),1,60)");
PREPARE stmt from @sqlStr;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
set s=s+1;
if (s%10000)=0 then
commit;
end if;
end while;
end $$

delimiter ;

call p_load2('t2',500000)

然后进行导出测试:

t1表导出成功:

 t2表导出失败:

 表t1,t2的区别在于,t2 没有显式的定义自增主键,虽然系统为添加了隐式主键。

虽然这种情况在生产中几乎不会发生,仅作经验分享。