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:
- Redémarrer MySQL
- Arrêter MySQL, supprimer ib_logfile0 et ib_logfile1, Start Mysql
- Faire un "Show engines". Cette commande retourne aucun cas de "InnoDB". Même pas un "NON ACTIF" (bizarre, non ?).
- (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).
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
Vous devez vous connecter pour publier un commentaire.
Show engines
dit que InnoDB n'a pas pu démarrer sur quelque raison que ce soit.Vous devez ouvrir le journal des erreurs (vérifier
SHOW VARIABLES LIKE 'error_log'
):et de trouver une raison pourquoi InnoDB n'a pas pu démarrer. Puis le fixer.
OriginalL'auteur akuzminsky
D'abord vérifier la version de MySQL, si prise en charge pour innoDB, deuxième vérification de la base de données mysql fichier de configuration (/etc/my.cnf ou /etc/mysql/my.cnf) sur linux (Windows je ne sais pas) si innodb est désactivé avec "skip-innodb" paramètre. Certains de configuration désactivé le support innoDB, car utiliser plus de mémoire RAM,
J'aurais parlé de mon InnoDB fonctionnait bien jusqu'à aujourd'hui. Par conséquent, nous n'avons pas toucher à la mes.cnf et nous avons vérifié: il n'y a pas de "skip-innodb" paramètre à l'intérieur.
Faire un
ps auxwww|grep mysqld
et voir si elle a été démarré manuellement avec un saut de innodb param.OriginalL'auteur Exos