phpMyAdmin showing database is MyISAM but tables are InnoDB

8,868

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
Share:
8,868

Related videos on Youtube

Brian Armstrong
Author by

Brian Armstrong

Co-founder and CEO of https://coinbase.com Personal blog at http://brianarmstrong.org Lover of software engineering.

Updated on September 17, 2022

Comments

  • Brian Armstrong
    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
    Kara Marfia almost 14 years
    Edited to remove footer link. Feel free to include it in your bio, but not in posts, thanks and welcome to SF!
  • machineaddict
    machineaddict over 9 years
    The 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.