2011-01-21 21 views
20

Quando eseguo una query in MySQL restituisce un errore dicendo che InnoDB non è abilitato. Quando ho fatto clic sul motore di archiviazione, InnoDB è stato disabilitato.Come abilitare INNODB in mysql

Come abilitare InnoDB?

risposta

18

È necessario abilitare i in my.cnf di file, quindi riavviare il server:

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

Oppure si può caricare un plugin InnoDB durante il runtime:

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

+1

Hai anche bisogno di convertire le tabelle individuali a utilizzare InnoDB se sono stati creati quando un diverso motore di archiviazione era predefinito? – sarnold

+0

Sì, è necessario farlo. I blocchi di codice – Mchl

4

In my.ini (che si trova nella cartella MySQL) inserisci un segno # prima del 'skip-innodb' per disabilitare questo comando. Quindi riavviare mysql. Questo abiliterà il motore InnoDB.

15

Ho affrontato una situazione simile in cui InnoDB è stato disabilitato dopo un aggiornamento di mysql-server. La query "show engine" non ha visualizzato Innodb. Seguendo this link risolto il problema per me.

/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

richiedono 4 spazi iniziali su ciascuna riga :-) – kleopatra

+1

Questo risolve definitivamente il problema! Ho passato ore a fare diversi passaggi, ma non ho potuto avviare mysql e ho continuato a vedere errori relativi a '' 'Impossibile connettersi al server MySQL locale tramite socket '/var/run/mysqld/mysqld.sock '(2) '' 'e la rimozione di questi file di log InnoDB era la soluzione! – Splaktar

+0

Anche questo è stato davvero corretto. – sammry

0

Se l'InnoDB viene disattivato dopo un mysql-server di aggiornare quello che hai da fare è inizialmente per impostare plugin-carico di all'avvio del server utilizzando

[mysqld]

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

e quindi specificare il percorso del (directory dei plugin) plugin_dir può essere fatto dalle seguenti modifiche nel file my.cnf

[mysqld] 

ignore-builtin-innodb 

plugin-load=innodb=ha_innodb_plugin.so 

plugin_dir=/path/to/plugin/directory 
Problemi correlati