I'm running MariaDB 10.0.x and I would like to move from InnoDB to TokuDB.

When using ALTER TABLE <> ENGINE=TokuDB; everything goes fine for the Wordpress websites. Unfortunately the Magento databases are using foreign keys which results in a '#1217 - Cannot delete or update a parent row: a foreign key constraint fails' message when changing tables.

How to use TokuDB for my Magento websites also?


TokuDB does not support foreign keys, so you'll only be able to use it with Magento if Magento can run without them. Prior to running your alter table commands you need to drop any foreign keys on the alterting table plus any reference it.

  • Ok so I should keep InnoDB for normal behavior? Is it better to use table compression for the huge Magento log files or can I use TokeDB for these files? – Il Quadrifoglio Aug 8 '14 at 17:28
  • That's a question you'd need to ask the Magento community. If there are any Magento tables that do not have a FK defined nor a FK reference, then those could all be migrated to TokuDB, and you'll get all the TokuDB benefits for them. Minimally, if there are a few "log" type tables you should see very high compression and improved insert speeds. Just make sure you configure your server carefully as you'll need to defined a cache size for both InnoDB and TokuDB. – tmcallaghan Aug 10 '14 at 12:36
  • tokuDB does not enforce foreign key constraints. It just mean it doesn't enable database level referential integrity. Framework that implement logical FK still works, except the FK deletion will be incomplete. – mootmoot Nov 21 '16 at 17:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.