您的位置:首页 > 数据库 > MySQL

mysql表空间被占用,同名表无法创建或导入

2016-06-02 14:49 821 查看
删除mysql表(用的是innodb)时没有用drop table命令,只是简单删除表目录,,这导致表空间还存在,这样就不可以加同名表进去。

当要重新导入新的同名表或者创建新的同名表时,会提示错误

Error : Tablespace for table '`database`.`temp`' exists. Please DISCARD the tablespace before IMPORT.

然而,我用

DROP TABLE temp;

ALTER TABLE temp DISCARD TABLESPACE;

仍然提示:

Error : Unknown table 'database.temp'

Error : Table 'database.temp' doesn't exist

解决方法:去mysql数据目录那里将对应的ibd文件移动到其他位置

$ ls /usr/local/homebrew/var/mysql/Mazda6

table1.frm

table1.idb

table2.frm

table2.ibd

table3.idb <- problem table, no table3.frm

table4.frm

table4.idb

$ mkdir /tmp/mysql_orphans

$ mv /usr/local/homebrew/var/mysql/Mazda6/table3.ibd /tmp/mysql_orphans/

这样就可以导入右创建同名的表
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: