Mysql表不见重建又提示Tablespace ‘`xxx`.`xxx`‘ exists.

本文介绍了如何在表结构丢失但数据未损的情况下,通过替换表文件、删除重建及导入数据恢复的方法,提醒读者注意数据库tablespaceid问题。
部署运行你感兴趣的模型镜像

网上一堆抄作业的说的乱七八糟的东西!
 

出现这种情况要么误删,要么可能因为数据库重启的问题。

表不见了,但表空间数据还在的。

按照 data1.table1 为例

恢复方法如下

table1.frm 文件不见了,数据库前端就看不到表。 table1.ibd 数据空间还在可以用这个来恢复数据。

直接在数据库删除会提示没表,新建表也会提示已有表,这个时候需要先骗过数据库可以删表先。前提是先把table1.ibd备份好,否则删表什么都没了。

1,需要有另外一个数据库data2,新建一个表table1,然后把data2的table1的table1.frm 放到 data1 目录里,然后删表。

删完表后重建 表就可以重建了。

重建好后需要删掉没数据的这个表的表空间

ALTER TABLE table1 DISCARD TABLESPACE;

然后再把备份的table1.ibd 放回sji 目录。
然后执行

ALTER TABLE table1 IMPORT TABLESPACE;

就可以把表数据恢复了。

这里还有一个非常大的坑!有可能导致数据库tablespace id不正确,那就需要把表导出备份,然后删表再重新建再恢复数据。真折腾啊!!!!

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值