刪除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/
這樣就可以匯入右建立同名的表
mysql 查詢表儲存空間占用
使用 schema 資料庫 mysql use information schema 字段 說明table schema 資料庫名 table name 表名engine 所使用的儲存引擎 tables rows 記錄數data length 資料大小 index length 索引大小 查詢資料庫...
mysql和oracle查詢表占用空間
mysql 需要先進入information schema select table schema as 資料庫 table name as 表名 table rows as 記錄數 truncate data length 1024 1024,2 as 資料容量 mb truncate index...
Mysql資料庫及表空間占用資訊統計
1 mysql中檢視各表的大小 這裡用到乙個表,information schema.tables 對應主要字段含義如下 able schema 資料庫名 table name 表名 engine 所使用的儲存引擎 tables rows 記錄數 data length 資料大小 index len...