vBulletin Mods

The Official vBulletin Modifications Site

MyISAM 2 InnoDB - Changes tables engine from MyISAM to InnoDB
by PlusVB
25 Nov 2009 11:37

2 Attachment(s)
After reading Anders is blog: Part 1 vB4mance: Helping communities grow, performance data model changes in vB 4.0 Thanks Anders, I've decided to make a simple product to bring the power of InnoDB to anyone who wants it.

Just import the product and go to Maintenance->Update Counters and scroll down, more down, then you'll find Change tables engine to InnoDB

It can be used with 3.5 3.6 3.7 3.8 and 4.0, and I don't know if I should start a new thread in the "vBulletin 4.0 Add-ons".

Please make sure to back-up your database before doing this.


profanitytalker 25 Nov 2009 13:37

Thank you! I'll wait to see if its functioning properly. Don't want my db to become corrupted.

Kolbi 25 Nov 2009 18:39

There are the advantages?

CHIPIT 25 Nov 2009 18:51


Coop1979 26 Nov 2009 03:00

How are you getting around the search issue?


The main problem is that InnoDB does not support “fulltext” searching; this means that converting to InnoDB will break the default search engine in vBulletin 3. This is due to InnoDB requiring that “fulltext index” be dropped when the conversion occurs. No full text index, no search; it's as simple as that.

TheComputerGuy 26 Nov 2009 04:44


This is a good read.

PlusVB 26 Nov 2009 08:40


Originally Posted by Coop1979 (Post 1920986)
How are you getting around the search issue?

I skiped any FULLTEXT table. if I'm going to make this product for vb 4.0. I may skip only (searchcore_text, searchgroup_text) and maybe language

actuality, I may not need to skip any table, as MySQL well refuse to convert any table with FULLTEXT inside it.

PlusVB 26 Nov 2009 09:04


Originally Posted by TheComputerGuy (Post 1921016)

Will, this looks more real to me :)

gmerin 29 Nov 2009 16:00

I have a few production systems which use innodb (the smallest is a 400gb reporting dbms). So far I only have two issues with them and I'm not sure how that would translate to vb usage: the resource overhead seems significantly higher for innodb, and , when necessary, innodb data recovery has a global impact.

resource overhead is an issue on my non-commercial vb system because i don't use a dedicated server and the demands of ajax database access alone kill it even using myisam.

the data recovery issue is more significant for me: when i have encountered a data structure corruption error (and it's not that frequent an occurrence; it only happened once in 2009) , the entire innodb database instance simply will not come up until the issue is addressed.

using myisam only the affected table(s) becomes unusable (not having foreign key constraints you just don't have the data integrity issues associated with foreign key violations), which makes recovery a simple matter of dropping the structure and reloading it from the most recent backup. since the entire innodb instance will not load when corruption is detected, recovering from a backup becomes unfeasible as reloading all 400GB of table data simply takes too long, so i employ snap mirroring with local protection (dbms redundancy). without these resources, i can't see using innodb with anything over 25gb. i would prefer to use oracle 10/11g for such systems, and as Oracle now owns innodb that's probably going to become the formal migration path over time, but i'll wait for oracle to add similar administrative functionality to innodb before i use it for larger databases.

PlusVB 29 Nov 2009 17:11

gmerin!, haven't you tried to use "innodb_file_per_table"? No? Then you should read this one:

saadessa 21 Jan 2010 22:46

thank you iwill try

orok 16 Oct 2010 04:23

thank you
no needed to be installed after done ?!

Mr GRiM 31 Aug 2012 21:18

Works on 4.2 thanks :)

mmikel_atef 15 Sep 2012 08:32

how to convert back?

Mr GRiM 14 Oct 2012 02:54

1 Attachment(s)
Yeah it would be nice if this could be reversed but I don't think we are going to get any reply for this

Edit: I just had a go at reversing this by just swapping the names in the xml file and I think it worked OK, just make sure you backup your database first in case anything goes wrong, I am not a coder so if anyone want to have another go at this and make a proper one feel free, just wanted to give the option to reverse this for anyone who found this wasn't for them.

All times are GMT. The time now is 17:30.

Powered by vBulletin® Version 3.8.12
Copyright © 2019, MH Sub I, LLC dba vBulletin. All Rights Reserved. vBulletin® is a registered trademark of MH Sub I, LLC
Copyright ©2001 - , vbulletin.org. All rights reserved.