SQLSTATE [42000]: Syntax error or access violation: 1286 Unknown table engine 'InnoDB'

Some of you may say "there are many answers in other threads" or "Google this." But in fact, I did not find the answer.

I am developing a PHP / MySQL project using symfony and for an unknown reason (which means that I did not write any php line), I got this error "SQLSTATE [42000]: syntax error or access violation: 1286 Unknown desktop engine" InnoDB "

I have already tried these solutions:

  • Restart mysql
  • Stop MySQL, delete ib_logfile0 and ib_logfile1, start Mysql
  • Make "Show Engines". This command does not return an instance of "InnoDB". Not even "INACTIVE" (weird, right?).
  • (even weirder). PHPMyAdmin displays all tables except those that use "InnoDB" instead of "InnoDB". No problem with MyISAM tables.

Some people suggested dumping the database, recompiling MySQL and uploading the sql file to the recompiled database, but ... Let them say that I'm not in the mood for this (it will take a lot of time).

+3
source share
2 answers

Show enginesreports that InnoDB failed to start for any reason. You should open the error log (check SHOW VARIABLES LIKE 'error_log'):

mysql> show variables like 'log_error';
+---------------+--------------------------+
| Variable_name | Value                    |
+---------------+--------------------------+
| log_error     | /var/log/mysql/error.log |
+---------------+--------------------------+
1 row in set (0.00 sec)

and find the reason InnoDB failed to start. Then fix it.

+2
source

MySQL, innoDB, mysql (/etc/my.cnf /etc/mysql/my.cnf) linux (Windows ), innodb "skip-innodb". innoDB, ,

0

All Articles