mysql tablespace id_Mysql重启服务Error: tablespace id is xx in the data dictionary问题

今天在进行同步线上数据到线下数据库时候,重启数据库失败,报错如下:

2020-06-10 15:48:14 38376 [Note] InnoDB: 128 rollback segment(s) are active.

2020-06-10 15:48:14 38376 [Note] InnoDB: Waiting for purge to start

InnoDB: Error: tablespace id is 4753 in the data dictionary

InnoDB: but in file ./mysql/innodb_index_stats.ibd it is 2!

翻译过来大概就是innodb_index_stats.ibd这个表的表空间id不一致的问题。

首先想想问题产生的原因,mysql的默认库mysql我用的是线下的数据,而mysql里面包括这张表,而其他数据库的数据都是线上的,这个索引表用于记录索引的状态信息,于是就产生了这个问题。

解决办法:innodb_index_stats.ibd这个表也使用线上的数据就可以了。。

然后重启就成功了:

mysqld_safe --defaults-file=/data/conf/my.cnf &

或者你也可以先删除表空间结构:

ALTER TABLE table DISCARD TABLESPACE;

然后再导入一遍表结构:

ALTER TABLE table IMPORT TABLESPACE;

问题也可以解决

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值