Search code examples
mysqlinnodbmyisam

Can't change storage engine to myisam, unknown storage engine 'InnoDB'


I'm trying to use mysqldump to dump a database, but I'm getting an error:

mysqldump: Couldn't execute 'show create table wp_commentmeta': Unknown storage engine 'InnoDB' (1286)

No worries; I'll just go into MySQL and change the storage engine for the table:

mysql> show create table wp_commentmeta;
ERROR 1286 (42000): Unknown storage engine 'InnoDB'
mysql> Alter table wp_commentmeta ENGINE = myisam;
ERROR 1286 (42000): Unknown storage engine 'InnoDB'

What am doing wrong? (and/or) How can I fix it?


Solution

  • There are many ways to recover InnnoDB tables.

    If you meet these goals, give this page a try.

    1. You got backup of your ibdata1, ib_logfile0 and ib_logfile1
    2. You also got backup of your database folder with .frm files
    3. You would like to restore this backup into an MySQL server that’s already in production.

    http://egil.biz/how-to-recover-mysql-data-from-innodb/

    If that doesn't solve your problem, give this other InnoDB recovery walkthrough a try: http://www.mysqlperformanceblog.com/2008/07/04/recovering-innodb-table-corruption/