ERROR 1467 (HY000): Failed to read auto-increment value from storage engine

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】5.0.6
【遇到的问题】自增id误插入最大值后,导致insert报错ERROR 1467 (HY000): Failed to read auto-increment value from storage engine
【复现路径】
主键bigint
insert into t values 7900000000000000000 插入最大值,然后后续的insert 全部无法执行,报如上错误
通过删除脏数据,修改auto_increment为剩余最大值+1之后 也无法恢复。表的数据量大概2亿
【问题现象及影响】

这个是多少? 表结构什么样,auto_inc_id和_tidb_rowid 一起分配,来源于同一分配器

PRIMARY KEY (id) /*T![clustered_index] CLUSTERED */,
UNIQUE KEY cid (cid),
KEY create_time (create_time),
KEY aweme_id (aweme_id),
KEY reply_id (reply_id),
KEY short_id (short_id),
KEY unique_id (unique_id),
KEY video_id (video_id),
KEY video_create_time (video_create_time),
KEY brand_ids (brand_ids),
KEY brand_names (brand_names)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin AUTO_INCREMENT=207378376 COMMENT=‘ABC’;

id是bigint,表结构就是很普通的如上楼所示。

重建表,迁移导入数据恢复试下吧。直接改自增值不行的,可以改完看下show warnings

自增达到了最大值,并且还是主键,将原表重命名,再新建一张表将数据复制到新表

手工插入自增列这个肯定是不行的,建议重建表,然后做数据的导入导出。