【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】用dumpling导出数据报错
【遇到的问题:问题现象及影响】
/data/software/tidb-toolkit-v5.3.2-linux-amd64/bin/dumpling -u $YOUR_USER -p $YOUR_PASSWD -P 4000 -h 10.8.123.8 --filetype sql -t 8 -B erp2stock10 -r 1000 -F 32MB -o /data/erp2stock10/
导出报错,提示如下:
【资源配置】
【附件:截图/日志/监控】
RenlySir
(Renly Sir)
2023 年10 月 26 日 08:53
4
ADMIN RECOVER INDEX tbl idx;
试试这个修复一下index
登上tidb执行下这个show index语句看看会不会报错,如果报错的话查一下tidb.log有没有啥异常信息
原来的索引删掉了,后面重新建又报错了
mysql> alter table inv_stock_daily_summary add INDEX idx_stockdate_goodsid_entid_depotid_transtypeid_deleted (depot_id,goods_id,stock_date,trans_type_id,ent_id,deleted);
ERROR 8202 (HY000): Cannot decode index value, because [types:1292]Incorrect time value: ‘{0 0 0 0 0 0 1554}’
只查看主键索引,没问题
也是不行
mysql> alter table inv_stock_daily_summary add UNIQUE KEY ux_stockdate_goodsid_entid_depotid_transtypeid_deleted (depot_id,goods_id,trans_type_id,ent_id,deleted);
ERROR 8202 (HY000): Cannot decode index value, because [types:1292]Incorrect time value: ‘{0 0 0 0 0 0 1554}’
zhanggame1
(Ti D Ber G I13ecx U)
2023 年10 月 26 日 12:49
14
数据量不大试试 select insert 重建表
这错误提示写的是没有连接啊,这个index索引有问题?
CREATE TABLE inv_stock_daily_summary
(
id
bigint(20) NOT NULL AUTO_INCREMENT,
ent_id
bigint(20) NOT NULL ,
org_id
bigint(20) DEFAULT NULL ,
depot_id
bigint(20) NOT NULL ,
depot_code
varchar(35) NOT NULL DEFAULT ‘’,
depot_name
varchar(60) NOT NULL DEFAULT ‘’,
goods_id
bigint(20) NOT NULL,
goods_code
varchar(30) NOT NULL,
goods_name
varchar(60) NOT NULL ,
stock_date
date NOT NULL,
period_no
varchar(6) NOT NULL ,
trans_type_id
bigint(20) NOT NULL,
trans_type
varchar(35) NOT NULL,
trans_name
varchar(60) NOT NULL DEFAULT ‘’,
io_flag
int(11) NOT NULL DEFAULT ‘1’,
day_acc_qty
decimal(18,6) NOT NULL DEFAULT ‘0.000000’,
day_acc_amt
decimal(18,6) NOT NULL DEFAULT ‘0.000000’,
day_acc_fin_amt
decimal(18,6) NOT NULL DEFAULT ‘0.000000’,
version
int(11) NOT NULL DEFAULT ‘1’,
deleted
bigint(20) NOT NULL DEFAULT ‘0’,
creator_code
varchar(35) NOT NULL DEFAULT ‘’,
creator_name
varchar(60) NOT NULL DEFAULT ‘’,
created_at
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
creator_org_code
varchar(35) NOT NULL DEFAULT ‘’,
modifier_code
varchar(35) NOT NULL DEFAULT ‘’,
modifier_name
varchar(60) NOT NULL DEFAULT ‘’,
last_modified_at
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
modifier_org_code
varchar(35) NOT NULL DEFAULT ‘’,
PRIMARY KEY (id
) /*T![clustered_index] CLUSTERED */
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin AUTO_INCREMENT=668267625;
mysql> insert into inv_stock_daily_summary_bak1027 select * from inv_stock_daily_summary;
ERROR 1105 (HY000): invalid data type: Failed to decode row v2 data as u64
‘{0 0 0 0 0 0 1554}’ 是不是可以先看看这条唯一索引下的数据所在行有没有特殊值?先记录好数据删掉这一行后再看看能不能导出?