Mysql 创建表时错误:Tablespace for table `tablexx` exists. Please DISCARD the tablespace before IMPORT....

在本地的一个数据库创建表时意外的出现了以下错误,说是表已经存在了

但通过desc 查看表信息时又说表不存在


在本地系统搜索表名却发现一个.ibd文件[InnoDB File]


在 删除了该.ibd 文件文件后再重新创建表就没有问题了

参考:




转载于:https://www.cnblogs.com/huangtailang/p/51d6623a09570a1b3c060730a6814d7c.html

这个错误通常表示表的表空间文件已经丢失或者损坏了,导致 MySQL 无法加载这个表。有以下几种可能的原因: 1. 数据库文件损坏:如果你的数据库文件已经损坏,可能会导致表空间文件丢失。 2. 删除了表空间文件:如果你或其他人不小心删除了表空间文件,可能会导致这个错误。 3. 数据库版本升级:如果你升级了 MySQL 数据库版本,可能会导致表空间文件无法加载。 针对这种情况,你可以尝试以下方法来解决: 1. 从备份中恢复:如果你有备份,可以尝试从备份中恢复表。首先,你需要确定什么候表消失的,然后找到最近的备份。将备份文件还原到 MySQL 数据库中,然后尝试访问表。 2. 使用 innodb_force_recovery:如果你无法从备份中恢复表,可以尝试使用innodb_force_recovery参数来尝试恢复表。此参数将允许你尝试从损坏的表空间文件中恢复数据。但是,这个方法并不总是成功,而且可能会导致数据丢失。 3. 重新创建表:如果你无法恢复表,可以尝试重新创建表。但是,在重新创建表之前,你需要删除所有旧的表空间文件。你可以使用以下命令删除表空间文件: ``` ALTER TABLE table_name DISCARD TABLESPACE; ``` 然后,重新创建表空间文件并重新加载表: ``` CREATE TABLESPACE tablespace_name ADD DATAFILE 'tablespace_file_name.ibd'; ALTER TABLE table_name IMPORT TABLESPACE; ``` 如果你还是无法解决问题,建议你联系 MySQL 官方支持或者专业的数据库管理员寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值