Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Page 1 of 3
Database server does not support InnoDB storage engine…What should i do? 
 
Shishant
Jr. Member
 
Total Posts:  3
Joined:  2009-03-01
 

Hello,

This is my first installation of magento, i am having a database engine problem...error…

Database server does not support InnoDB storage engine
Database connection error

Can you help me installing it?

Thank You.

 
Magento Community Magento Community
Magento Community
Magento Community
 
rainman127
Sr. Member
 
Avatar
Total Posts:  218
Joined:  2008-06-30
 

are you on localhost or at a host on the web?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Shishant
Jr. Member
 
Total Posts:  3
Joined:  2009-03-01
 

Thanks for reply… I didnt found search bar before (in top left)..... i saw the posts with same problem and i have asked my service provider to enable InnoDB

 
Magento Community Magento Community
Magento Community
Magento Community
 
coooool
Jr. Member
 
Total Posts:  13
Joined:  2008-12-08
 

Shishant, which hosting company are you using?

..... installation is real painful..

 
Magento Community Magento Community
Magento Community
Magento Community
 
tranquang
Jr. Member
 
Avatar
Total Posts:  6
Joined:  2009-01-19
 

if U run on localhost, U can config you mysql server to use InnoDb store engine

Open file xampp\mysql\bin\my.cnf (Drag and Drop that file to Notepad or notepad++ program)

Find code:

# Comment the following if you are using InnoDB tables
skip-innodb
#innodb_data_home_dir = "/xampplite/mysql/"
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = "/xampplite/mysql/"
#innodb_log_arch_dir = "/xampplite/mysql/"
## You can set .._buffer_pool_size up to 50 - 80 %
## of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
## Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50

Modify to

#Comment the following if you are using InnoDB tables
#skip-innodb
innodb_data_home_dir "/xampplite/mysql/"
innodb_data_file_path ibdata1:10M:autoextend
innodb_log_group_home_dir 
"/xampplite/mysql/"
innodb_log_arch_dir "/xampplite/mysql/"
## You can set .._buffer_pool_size up to 50 - 80 %
## of RAM but beware of setting memory usage too high
innodb_buffer_pool_size 16M
innodb_additional_mem_pool_size 
2M
## Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size 5M
innodb_log_buffer_size 
8M
innodb_flush_log_at_trx_commit 
1
innodb_lock_wait_timeout 
50

Full Support available at Vinazoom support

 
Magento Community Magento Community
Magento Community
Magento Community
 
migors
Jr. Member
 
Total Posts:  5
Joined:  2009-02-17
 

My hoster says thay will not support InnoDB, what to do? I have large hosting with 30 accounts. Migrating to other hoster is not resonable.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Shishant
Jr. Member
 
Total Posts:  3
Joined:  2009-03-01
 

My hoster also doesnt have InnoDB facilty for my current account plan and shifting or upgrading is out of scope… Please help. Can the SQL be changed to use other default engine.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Jarisha
Jr. Member
 
Total Posts:  6
Joined:  2009-03-03
 

So, HostGator (one of the largest and most used hosters) doesn’ t support innoDB, and Magento, the up-and-coming eCommerce solution that everyone seems to want needs innoDB to run?

Come ON people.  Somebody really has to give here, and from what I’m reading on HostGator’s forums, it won’t be them. shut eye  They claim that it causes more corruption in their databases, so only their older servers have it; none of the newer ones.  I don’t know about that - I’ve been a customer for 5 years now and I don’t have it.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Guristu
Jr. Member
 
Total Posts:  3
Joined:  2009-03-17
 

Here is what you should do, but only if you know what you are doing!!!! Go to this file: app/code/core/Mage/Install/Model/Installer/Db.php and find the line that says “// check InnoDB support”. Comment out—that is put a “//” in front of—the next 3 (three) lines. It should work normally.

To the people that make the system: I have other dbs on the same server and I only use InnoDB tables in them because of the foreign keys. I don’t know what your check indicates, but it does not indicate that the db server does not support InnoDB. I commented out those lines and it works like charm. Perhaps this is a bug?

Later,

AM

 
Magento Community Magento Community
Magento Community
Magento Community
 
texemb
Jr. Member
 
Total Posts:  19
Joined:  2008-06-18
 

Thank you thank you thank you - After a couple of tries of following the other hostgator changes to the internal files two things finally worked for me.  (I’m a reseller account)

Changing the permissions on the files index.php and install.php from to 755 and changing the comments so it wouldn’t attempt to innodb portion.

Thank you forum for helping a novice do this install.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Sindre|ProperHost
Mentor
 
Avatar
Total Posts:  1158
Joined:  2008-04-24
 
Guristu - 17 March 2009 12:36 PM

Here is what you should do, but only if you know what you are doing!!!! Go to this file: app/code/core/Mage/Install/Model/Installer/Db.php and find the line that says “// check InnoDB support”. Comment out—that is put a “//” in front of—the next 3 (three) lines. It should work normally.

To the people that make the system: I have other dbs on the same server and I only use InnoDB tables in them because of the foreign keys. I don’t know what your check indicates, but it does not indicate that the db server does not support InnoDB. I commented out those lines and it works like charm. Perhaps this is a bug?

Later,

AM

I will strongly advise against doing this. This only disables the internal InnoDB check in the installer, and running Magento with only MyISAM tables WILL cause SQL problems at some point. InnoDB is a requirement for Magento and it cannot be avoided. On previous versions, Varien forgot to check for InnoDB support in the Installer Wizard, and a large proportion of the errors reported on these forums can be contributed to this. People have been running their store without InnoDB for some time, then when they try to upgrade to a new version of Magento, hell breaks loose.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Guristu
Jr. Member
 
Total Posts:  3
Joined:  2009-03-17
 

I have to apologize to all if my tone was a little high in my previous post. My excuse is that I had been trying to install for hours—I had even called Hostgator a couple of times—and nothing seemed to work. After I succeeded in installing it I actually investigated further to see if what I had done could potentially hurt my site in the future. I have to correct myself: there is no bug—I made a mistake.

To those that took my advice or will take it in the future: Be careful!! My advice to you (after I took the time to think about it) is if you are with a host that disables InnoDB in MySQL, switch to a host that doesn’t. InnoDB has a very important role in assuring the integrity of the data. The most important feature is the referential integrity (foreign keys constraints); that is, if the database designer says “there is no child record in Table1 without a parent record in Table2,” then there should be no way for me to insert a record in Table2 if, for instance, Table1 is empty. Anyway, do a search on the net about it.

For those that are on Hostgator and did (or will do) what I suggested in my previous post, check the database in phpMyAdmin and you’ll see that all your tables are MyISAM, which is the default engine in MySQL. That is not necessarily bad, but you WILL have so called “orphan records” in your tables once you start deleting various stuff. That ca be bad at some point. I don’t know if Magento has integrity checks at PHP level. My guess would be no, because that is the logical way to go: databases assure data integrity and websites are just interfaces to retrieve and display the data.

As I write this, I just received a message that someone responded to my suggestion advising against it. I’m tasting foot in my mouth grrr

So, DON’T DO IT!

Again, sorry for almost getting some people in bigger trouble than they already have.

AM

 
Magento Community Magento Community
Magento Community
Magento Community
 
Sweet Tooth
Sr. Member
 
Avatar
Total Posts:  121
Joined:  2008-02-02
Canada
 

To solve the problem if you’re running on your own VPS/dedicated Unix server…

1. Go into /etc/my.cnf
2. Find [mysqld] and remove/comment the following two lines:

skip-bdb
skip
-innodb
3. If those lines don’t exist you should be able to execute:
“ALTER TABLE `catalog_product_entity` ENGINE = InnoDB” on any one of your tables.  Every table except the “log_” tables should be using InnoDB as of Magento 1.2.1 I think, but if you’re installing Magento for the first time this should be done for you automatically.

Of course, before you do anything backup your database, etc and don’t try this on a live server until you’ve tried it on a test server.

-Regards.

 
Magento Community Magento Community
Magento Community
Magento Community
 
ally
Jr. Member
 
Total Posts:  18
Joined:  2008-05-22
 
Sindre|ProperHost - 18 March 2009 01:01 AM

On previous versions, Varien forgot to check for InnoDB support in the Installer Wizard, and a large proportion of the errors reported on these forums can be contributed to this. People have been running their store without InnoDB for some time, then when they try to upgrade to a new version of Magento, hell breaks loose.

How can the developers have forgotten to check this? What do we (those who have older versions) do now and hosts that won’t support InnoDB? Arel we just left at the 1.2.0.3 (January 23, 2009) forever more?

It seems to me that this is a HUGE problem that can easily be avoided with code. To prevent orphaned files, InnoDB is NOT required. All you have to do is to create queries that check for child records and delete those records before deleting the parent record.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Guristu
Jr. Member
 
Total Posts:  3
Joined:  2009-03-17
 

It seems to me that this is a HUGE problem that can easily be avoided with code. To prevent orphaned files, InnoDB is NOT required. All you have to do is to create queries that check for child records and delete those records before deleting the parent record.

Well, having been a database designer for quite some time, I have to tell you that’s a little hard to do. The only option would be to write the code in PHP which would actually come close to writing a database engine allover again in PHP—not a very appealing idea for me as a PHP coder. InnoDB has a lot of other features—for instance row level locks, which ensure that while a user is updating a row, no-one else can operate on that row—which would be like reinventing the wheel if someone would actually attempt it in PHP. Not to speak about the fact that Magento is already a bit too big and a little too slow when compared to similar products in the industry; making it run through extra checks each time there is a request would slow it down even more.

Don’t get me wrong, I’m not defending their position, but having designed databases and programmed database interfaces in PHP, I know what is technically required. As with every product, there are some situations in which that product does not work. Sometimes one just can’t please everyone. In this case however, there are tons of hosts out there that do not disable InnoDB. All you have to do is ask them before you sign up.

AM

 
Magento Community Magento Community
Magento Community
Magento Community
 
ally
Jr. Member
 
Total Posts:  18
Joined:  2008-05-22
 

It seems incredible that something so fundamental to the program was overlooked. I’ve been working with Magento for over a year now. I’m pretty sure that InnoDB wasn’t a stated requirement back then. Simply moving to another host is not an option when you have 2 year contracts. So, this is the straw that broke the camel’s back, I’m sorry to say since I had great hopes for Magento.  I’ve decided to go with a commercial system that in <$300.  Well worth it if you compare the hours wasted trying to work around Magento bugs.

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top
Page 1 of 3