Alasan "tampilkan tabel;" berfungsi karena mysqld akan memindai direktori database hanya untuk file .frm. Selama mereka ada, ia melihat definisi tabel.
Jika Anda mengimpor data ke MySQL dan pesan kesalahan ini terjadi, hal pertama yang akan segera saya lakukan adalah menjalankan perintah ini:(BTW Ini adalah MySQL 5.1.45, tetapi tetap berfungsi di MySQL 5.x)
mysql> show engines;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB | YES | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | NO | NO | NO |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
8 rows in set (0.00 sec)
Jika server tempat Anda mengimpor data mengatakan InnoDB dinonaktifkan, maka Anda memiliki masalah besar. Inilah yang harus Anda lakukan:
1) Jatuhkan semua Data dari Server DB Impor Baru
3) jalankan SHOW ENGINES; dan pastikan InnoDB beroperasi penuh!!!
4) Muat ulang mysqldump ke server impor baru
Cobalah !!!