Lorsque j'exécute une requête dans MySQL, une erreur est générée, indiquant qu'InnoDB n'est pas activé. Lorsque j'ai cliqué sur le moteur de stockage, InnoDB a été désactivé.
Comment activer InnoDB?
Vous devez l'activer dans le fichier my.cnf
, puis redémarrer votre serveur:
http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#option_mysqld_innodb
Ou vous pouvez charger un plugin InnoDB pendant l'exécution:
http://dev.mysql.com/doc/refman/5.1/en/replacing-builtin-innodb.html
J'ai rencontré une situation similaire dans laquelle InnoDB a été désactivé après une mise à niveau du serveur mysql. La requête "show engines" n'affichait pas Innodb. Suite à ce lien corrigé le problème pour moi.
/etc/init.d/mysql stop
cd /var/lib/mysql/
ls ib_logfile*
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak
/etc/init.d/mysql restart
Dans my.ini
(situé dans le dossier MySQL) mettez un signe #
avant 'skip-innodb'
pour désactiver cette commande. Puis redémarrez mysql. Cela activera le moteur InnoDB.
Si votre InnoDB est désactivé après une mise à niveau du serveur mysql, vous devez d’abord définir plugin-load of au démarrage du serveur à l’aide de
[mysqld]
plugin-load = "myplugin_1 = myplugin_1.so; myplugin_2 = myplugin_2.so";
Et puis spécifiez le chemin du répertoire plugin_dir (répertoire du plugin), vous pouvez le faire en suivant les modifications apportées dans le fichier my.cnf .
[mysqld]
ignore-builtin-innodb
plugin-load=innodb=ha_innodb_plugin.so
plugin_dir=/path/to/plugin/directory