phpMyAdmin showing database is MyISAM but tables are InnoDB
Solution 1
Databases don't have storage engines, only tables do. I have no idea what PhpMyAdmin is trying to indicate there, perhaps the system-wide default engine or something. The documentation would presumably shed some light on WTF is going on.
Solution 2
This is not a bug. From the MySQL documentation:
A database may contain tables of different types. That is, tables need not all be created with the same storage engine.
So you're fine.
To see the table type:
SHOW CREATE TABLE schema_migration
To see the database storage engine:
mysqldump --no-data $YOURDATABASE
Related videos on Youtube
Brian Armstrong
Co-founder and CEO of https://coinbase.com Personal blog at http://brianarmstrong.org Lover of software engineering.
Updated on September 17, 2022Comments
-
Brian Armstrong over 1 year
Is it possible for a database to be of one type (MyISAM) and the tables to be of another type (InnoDB) or is this a bug in phpMyAdmin?
It is showing exactly that. Picture Here http://www.startbreakingfree.com/wp-content/uploads/2009/11/Picture-10.png
I tried to verify the database type from the command but couldn't find the right command to show it. If the database is in fact MyISAM how can I change it to InnoDB?
Thank you!
-
Kara Marfia almost 14 yearsEdited to remove footer link. Feel free to include it in your bio, but not in posts, thanks and welcome to SF!
-
machineaddict over 9 yearsThe storage engine phpMyAdmin is showing is the default engine selected in MySQL config file. Just run this query
SHOW STORAGE ENGINES
and you will see there is default engine, same as phpMyAdmin shows.