SQLSTATE[42000]: erreur de Syntaxe ou de violation d'accès: 1286 Inconnu tableau moteur 'InnoDB'

Certains d'entre vous me diront "il y a beaucoup de réponses dans d'autres threads" ou "Google". Mais en réalité, je n'ai pas trouvé la réponse.

Je développe en PHP /MySQL projet à l'aide de symfony et pour une raison inconnue (ce qui signifie "je n'ai pas écrit tout de ligne php"), j'ai eu cette erreur "SQLSTATE[42000]: erreur de Syntaxe ou de violation d'accès: 1286 Inconnu tableau moteur 'InnoDB'".

J'ai déjà essayé ces solutions:

  1. Redémarrer MySQL
  2. Arrêter MySQL, supprimer ib_logfile0 et ib_logfile1, Start Mysql
  3. Faire un "Show engines". Cette commande retourne aucun cas de "InnoDB". Même pas un "NON ACTIF" (bizarre, non ?).
  4. (encore plus étrange) PHPMyAdmin affiche toutes les tables sauf que ceux qui utilisent des InnoDB affichage "utilisé" au lieu de "InnoDB". Pas de problème avec les tables MyISAM.

Certaines personnes ont proposé de vider la base de données, de recompiler MySQL et charger le fichier sql dans le recompilé base de données, mais... disons que je ne suis pas dans l'humeur pour que (qui prendrait BEAUCOUP de temps).

Comment avez-vous installer mysql initialement? Premade package pour votre système d'exploitation (xamp/wamp, os-paquet?). Il serait TRÈS inhabituel d'avoir un premade paquet avec innodb désactivé/non inclus.
Non, c'est une debian squeeze 6.0. Il a été installé sur le serveur il y a plusieurs mois et que le projet a bien fonctionné jusqu'à cet après-midi.
Je pensais à un fichier journal trop grand, ou quelque chose comme ça, mais il ne semble pas si.
Cette question est mieux adapté pour serverfault au lieu de soi?

OriginalL'auteur MaximeBernard | 2012-05-04