SET default_storage_engine=InnoDB; SET GLOBAL innodb_file_per_table=ON; # # Create a temporary table and drop it. Make sure the ibd file is gone. # Make sure a discarded table can be dropped with all files deleted. # CREATE TEMPORARY TABLE t14169459_1 (a INT, b TEXT) engine=InnoDB; CREATE TABLE t14169459_2 (a INT, b TEXT) engine=InnoDB; INSERT INTO t14169459_1 VALUES (1, 'one'),(2, 'two'); INSERT INTO t14169459_2 VALUES (1, 'one'),(2, 'two'); SELECT * FROM t14169459_1; a b 1 one 2 two SELECT * FROM t14169459_2; a b 1 one 2 two SHOW CREATE TABLE t14169459_1; Table Create Table t14169459_1 CREATE TEMPORARY TABLE `t14169459_1` ( `a` int(11) DEFAULT NULL, `b` text ) ENGINE=InnoDB DEFAULT CHARSET=latin1 SHOW CREATE TABLE t14169459_2; Table Create Table t14169459_2 CREATE TABLE `t14169459_2` ( `a` int(11) DEFAULT NULL, `b` text ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ### directory of MYSQL_DATA_DIR/test t14169459_2.frm t14169459_2.ibd ### directory of MYSQL_TMP_DIR/mysqld.1 #sql<temporary>.ibd FLUSH TABLES t14169459_2 FOR EXPORT; SELECT * FROM t14169459_2; a b 1 one 2 two UNLOCK TABLES; ### directory of MYSQL_DATA_DIR/test t14169459_2.frm t14169459_2.ibd ALTER TABLE t14169459_2 DISCARD TABLESPACE; SELECT * FROM t14169459_2; ERROR HY000: Tablespace has been discarded for table 't14169459_2' ### directory of MYSQL_DATA_DIR/test t14169459_2.frm ### directory of MYSQL_TMP_DIR/mysqld.1 #sql<temporary>.ibd DROP TABLE t14169459_1; DROP TABLE t14169459_2; ### directory of MYSQL_DATA_DIR/test ### directory of MYSQL_TMP_DIR/mysqld.1