Innodb database?

nobaloney

NoBaloney Internet Svcs - In Memoriam †
Joined
Jun 16, 2003
Messages
25,333
Location
California
One of our clients is attempting to install a crm package and is getting this error:
"Unable to create InnoDB tables. MySQL InnoDB support is required for
CiviCRM but is either not available or not enabled in this MySQL
database server."
Can I install InnoDB just for him? Should I? How?

Thanks.

Jeff
 
Thanks.

What this doesn't tell me is if this changes the default, and if I even should put it on a shared hosting server.

Any comments from anyone who's done it? Or who has decided to not do it?

Thanks.

Jeff
 
You can run myisam and innodb side by side no problem. I used to do it all the time.
 
One of our clients is attempting to install a crm package and is getting this error:

Can I install InnoDB just for him? Should I? How?

Thanks.

Jeff

Just edit your my.cnf file. Take out the line "skip-innodb" from it. Then, restart MySQL. That should do it.

InnoDB Plug-in is an alternative to Original InnoDB. With some additional features and better performance. If you really need it, you can enable it since it's come with MySQL 5.1 packages. More info here -> http://dev.mysql.com/doc/refman/5.1/en/innodb.html

However, I couldn't find "ha_innodb_plugin.so" under a server that have DirectAdmin installed. I'm not sure if the script compile it or not.

For My.cnf. You may need to check "innodb_buffer_pool_size = xxxM" The default one is pretty low. From what I've read, that buffer pool need to be bigger than the database itself since most InnoDB tasks are done in Memory. (Key buffer and a database itself) If buffer pool is not large enough, the performance will be pretty bad.

Also the config line below :

1. innodb_data_file_path = ibdata1:10M:autoextend
2. innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend

The first line I got from MySQL 5 which means MySQL creates "ibdata1" file with 10M auto incremental. (ibdata1 is where you keep all of your databases in InnoDB format.)

Second line is a config I got from MySQL 5.1. That is to create "ibdata1" file with 2 GB size. Then, if 2 GB is not enough, create ibdata2 with 10M auto incremental.

And yes, MySQL can use both MyISAM and InnoDB in the same Database even though it's not recommend. I do that for some of my website.

All of these are from what I've read. So, it could be wrong. Anyway, hope you understand what I'm trying to say :)
________
Blonde Webcams
 
Last edited:
Thanks, nmb; you've been helpful. The unanswered question is if we shold risk installing it on shared servers; I know it can use a lot of memory.

Perhaps install it so people can use it, and then don't add more memory for the buffer pool size? I don't want people hogging all our memory on a shared server.


Any comments?

Thanks.

Jeff
 
My opinion right now is that ... If it's possible, I would set it as InnoDB server. Just for customer that need to use InnoDB. Or you can try to limit RAM in buffer pool. See how your customer uses your server.

I've read from Hostgator that they don't support InnoDB because of too much resources usage. They do have some servers that has InnoDB enabled though. But those are old servers that they have enabled and some customers already use it.

One additional info : InnoDB doesn't only use a lot of RAM but the database size is increased as well. (Ex. 30 MB DB in MyISAM jump to about 50 MB in InnoDB.)
________
Expert insurance
 
Last edited:
My opinion right now is that ... If it's possible, I would set it as InnoDB server. Just for customer that need to use InnoDB. Or you can try to limit RAM in buffer pool. See how your customer uses your server.
Is there any way to limit InnoDB to only certain users? Otherwise I fear we're going to want to limit InnoDB users to their own vps.

Thanks!

Jeff
 
Seems pretty complex to run two instances of MySQL on a server. Don't even know if it can be easily done.

Anyone know with certainty?

Jeff
 
In some cases, you might want to run multiple mysqld servers on the same machine. You might want to test a new MySQL release while leaving your existing production setup undisturbed. Or you might want to give different users access to different mysqld servers that they manage themselves. (For example, you might be an Internet Service Provider that wants to provide independent MySQL installations for different customers.)

To run multiple servers on a single machine, each server must have unique values for several operating parameters. These can be set on the command line or in option files

http://dev.mysql.com/doc/refman/5.1/en/multiple-servers.html
 
Thanks for the information. I pointed my client to this thread to explain why it was taking me a few days to decide, and he decided he'd use more resource-friendly software.

At some point we'll offer it on VPS installations for both resellers and users.

I aqppreciate the help.

Jeff
 
The important question appears to be unanswered: with that minimum configuration as shown in the link are you going to get performance degradation with innodb vs mysiam?

Jeff
 
The short answer is yes.
InnoDB adds transactions and row-level rocking and that slows things down unless you tune everything very well at both the software and hardware level.
MyIsam is great for websites and CMS, Innodb for e-commerce, ERPs, etc.
 
Thanks!

I stand by my previous decision; we'll offer it only on VPS and dedicated servers, not on our shared hosting servers.

Jeff
 
That wasn't the issue at all. The issue was the extra load if clients started using innodb on a shared hosting server right-sized for the number of domains it's currently hosting.

We're starting a move towards a VPS environment for folk who need more than just basic hosting. Not there yet, but it's our plan for the future. Your mileage may vary.

Jeff
 
Back
Top