mysql表空间被占用,同名表无法创建或导入
刪除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/
這樣就可以導入右創建同名的表
轉載于:https://blog.51cto.com/8503920/1400553
總結
以上是生活随笔為你收集整理的mysql表空间被占用,同名表无法创建或导入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决 同时安装 python3,pyth
- 下一篇: 蝙蝠算法c语言,求解0-1背包问题的二进