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/
这样就可以导入右创建同名的表
当要重新导入新的同名表或者创建新的同名表时,会提示错误
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/
这样就可以导入右创建同名的表
相关文章推荐
- MySQL索引的创建、删除和查看
- mysql导入sql执行出现中文乱码解决方法
- 文章标题mysql 命令小记
- Mysql模糊查询语法
- mysql 安全
- MySQL学习笔记之九:MySQL Replication
- MySQL 选择数据库
- Navicat for MySQL&nbsp…
- 【MySQL】[Err] [Imp] 2…
- mysql latin1 utf8 转换
- 求某字段的总和mysql语句
- 从mysql导出到excel 格式为.xls
- 从mysql导出到excel 格式为.csv
- mysqll 字符集合分析
- mysql 初始密码问题 —— windows
- MySQL松散索引扫描与紧凑索引扫描
- MySql新建用户的一种方法
- MySQL服务无法启动,服务没有报告任何错误的解决办法
- cmd连接MySQL
- Navicat for MySQL 有哪些常用功能