Mysql – show table status not showing innodb tables

innodbMySQL

After a server reboot I noticed that phpMyAdmin was not showing my innodb tables, just the myisam.

I logged into mysql server directly and while show tables is showing the innodb tables, when I use 'show table status from mydb' the inndb tables are not there.

Any reason why they're suddenly not showing? The did before the reboot.

Also, they show in 'show tables' but trying to do a select says they don't exist.

Best Answer

The first query you should run is SHOW ENGINES;

If the Support Column for InnoDB says DISABLED, then mysqld.log should tell what disabled it.

SHOW TABLES most likely traverses only INFORMATION_SCHEMA.TABLES

Once you try to ascertain info about InnoDB tables which requires hitting the ibdata1 file for metadata, it croaks and cannot find any InnoDB tables. I remember one time asking for too much InnoDB Buffer Pool and I did not have enough memory. Percona binaries are more blunt in this because mysqld simply won't start. That's a whole lot better than starting MySQL in a half-baked state.

Next time InnoDB seems to be on the fritz, run SHOW ENGINES right away and check the error log !!!