2011-01-21 3 views
20

Lorsque j'exécute une requête dans MySQL retourne une erreur en disant que InnoDB n'est pas activé. Lorsque j'ai cliqué sur le moteur de stockage, InnoDB a été désactivé.Comment activer InnoDB dans MySQL

Comment activer InnoDB?

Répondre

18

Vous devez activer dans le fichier my.cnf, puis redémarrez votre serveur:

http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#option_mysqld_innodb

Ou vous pouvez charger un plugin InnoDB lors de l'exécution:

http://dev.mysql.com/doc/refman/5.1/en/replacing-builtin-innodb.html

+1

Avez-vous besoin aussi de convertir des tables individuelles à utiliser InnoDB s'ils ont été créés quand un moteur de stockage différent était par défaut? – sarnold

+0

Oui, vous devez le faire. – Mchl

4

Dans my.ini (situé dans le dossier MySQL) mettez un signe # avant 'skip-innodb' pour désactiver cette commande. Puis redémarrez mysql. Cela permettra le moteur InnoDB.

15

Je fait face à une situation similaire où InnoDB désactivé après une obtenu mise à niveau serveur mysql. La requête "show engines" n'affiche pas Innodb. Suite this link résolu 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 
+0

blocs de code besoin de 4 espaces principaux sur chaque ligne :-) – kleopatra

+1

Cela a résolu mon problème enfin! J'ai passé des heures à parcourir une tonne de différentes étapes, mais je n'ai pas pu démarrer mysql et j'ai continué à voir des erreurs liées à '' 'Impossible de se connecter au serveur MySQL local via le socket '/var/run/mysqld/mysqld.sock '(2) '' 'et la suppression de ces fichiers journaux InnoDB était la solution! – Splaktar

+0

Cela a vraiment réglé pour moi aussi. – sammry

0

Si votre InnoDB obtient désactivé après un serveur mysql mise à jour ce que vous avez à faire est d'abord de définir plugin-charge au démarrage du serveur en utilisant

[mysqld]

plugin-load = "myplugin_1 = myplugin_1.so; myplugin_2 = myplugin_2.so";

Et puis spécifiez le chemin d'accès à la plugin_dir (répertoire de plug-in), il peut être fait par des changements suivants dans le fichier my.cnf

[mysqld] 

ignore-builtin-innodb 

plugin-load=innodb=ha_innodb_plugin.so 

plugin_dir=/path/to/plugin/directory