Why is InnoDB disabled? (SOLVED)

HoKe's picture

after installing Drupal 6 appliance i do have problem to enable InnoDB in MySQL.

can some one help me please?

Thx

liraz's picture

Innodb in enabled by default

InnoDB is enabled by default, you don't have to do anything.

If you log in to PhpMyAdmin and go to the "Storage Engines" section, you'll notice that InnoDB is not disabled.

See the MySQL manual for more information (13.2.3. InnoDB Configuration).

HoKe's picture

my.cnf

in my.cnf is skip-innodb commented out = enabled innodb in mysqld. I tried to run live system to see defaults and realised following:
mysql> show engine innodb status;
ERROR 1235 (42000): Cannot call SHOW INNODB STATUS because skip-innodb is defined
mysql>
please help ;) if possible
thx in advance
liraz's picture

I can't reproduce this...

I booted the version of the appliance you are using in live mode (I.e., without installation) and the InnoDB engine is enabled, as it should be.

If you want me to try and investigate/reproduce your problem you are going to have to give me a great deal more information:

* what version of the appliance are you using?
* are you using the appliance in live mode or installed to a hard drive?
* what kind of machine or virtual machine is running the appliance? how much memory does it have?
* did you reconfigure mysql in any way?
* could you try starting over and see what it takes to reproduce this problem?

HoKe's picture

demanded answers

no problem to give you requested information
turnkey-drupal6-2008.10.28-hardy-x86
Live mode. 8GB HDD ready but not used for installation
VM - VirtualBox-2.1.0-41146-Win_x86.msi
512 MB RAM
no reconfiguration
I did only following:
mysql -u root -p
inserted password
mysql> show engine innodb status;
ERROR 1235 (42000): Cannot call SHOW INNODB STATUS because
skip-innodb is defined
mysql> show engines;
InnoDB |DISABLED
HoKe's picture

news

finaly I found a solution.
/etc/init.d/mysql stop
mv /var/lib/mysql/ib_logfile0 /var/lib/mysql/ib_logfile0.bak
mv /var/lib/mysql/ib_logfile1 /var/lib/mysql/ib_logfile1.bak

/etc/init.d/mysql start
now it works! great ;)
liraz's picture

Your innodb log files were corrupt?

I did a little research on why your solution works and it seems that though InnoDB is enabled by default, MySQL seems to disable it automatically if your InnoDB log files get corrupted. When you remove them, they are recreated, allowing InnoDB to start again.

Thanks for sharing!

Guest's picture

Thanks!

Thanks for the tip! This solved the problem for me also. 

alon's picture

setting InnoDB as default mysql storage engine

As Liraz mentioned, InnoDB is enabled by default.
# mysql -uroot
> show engines;
 MyISAM     | DEFAULT
 InnoDB     | YES
 ...
But if you want it to be your default storage engine you have to specify it, for example:
# cat /etc/mysql/conf.d/storage_engine.cnf
[mysqld]
default-storage-engine = InnoDB

# /etc/init.d/mysql restart

# mysql -uroot
> show engines;
 MyISAM     | ENABLED
 InnoDB     | DEFAULT
 ...
Guest's picture

Thank you

I ran across this same problem w/ Joomal and your solution did the trick thanks so much!

Guest's picture

This helped me, too!

Thanks so much for this information! I had the same problem here.

Guest's picture

Thanks

This worked for me.  One thing to note was that I had to add default-storage-engine=innodb directly below the commented skip-innodb statement.  This is on CentOS 5.3.

 

Post new comment

The content of this field is kept private and will not be shown publicly. If you have a Gravatar account, used to display your avatar.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <p> <span> <div> <h1> <h2> <h3> <h4> <h5> <h6> <img> <map> <area> <hr> <br> <br /> <ul> <ol> <li> <dl> <dt> <dd> <table> <tr> <td> <em> <b> <u> <i> <strong> <font> <del> <ins> <sub> <sup> <quote> <blockquote> <pre> <address> <code> <cite> <strike> <caption>

More information about formatting options