Support

Site Restoration

#34805 Force Storage Engine to Innodb instead of MyISAM on restore

Posted in ‘Site restoration’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

PHP version
n/a
CMS Type
Other
CMS Version
n/a
Backup Tool Version
n/a
Kickstart version
n/a

autobahnstormers

Is there a way to force the database restore part of the process to create the database using Innodb as the storage engine instead of MyISAM?

Both our hosting provider and my localhost run MariaDB (I use XAMPP), but my localhost has Innodb as the default storage engine while our provider has MyISAM. As it is a shared server, it is unlikely that I will be able to get them to change their default.

This is causing me serious problems with Community Builder which requires Innodb once a table row gets beyond a certain size. The relevant tables themselves are Innodb (though others are myISAM).

I have done restores using Kickstart to my localhost from the live site several times without problems and it recreates the database to use Innodb as the storage engine by default.

I am out of my comfort zone here, as I have little knowledge of server management.

Thank you

nicholas
Akeeba Staff
Manager

Akeeba Backup backs up the storage engine defined by the table. It does so for a good reason. Each database table storage engine has different features and performance characteristics, especially when large tables, full text indexing and other advanced features are concerned. Changing the table engine may have unintended and significant consequences to the operation of your site.

You should also note that the default engine being used is largely irrelevant. Joomla itself and its extensions define the database engine they would like to use for each table. For example, Joomla itself is using InnoDB for its database tables now, see https://github.com/joomla/joomla-cms/blob/staging/installation/sql/mysql/joomla.sql

As a result your host having disabled InnoDB makes them incompatible with Joomla 3.9 itself. It's not a matter of preference, it's a matter of compatibility.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

autobahnstormers

Thank you for your prompt and comprehensive reply. The link to GitHub was particularly informative.

I don't think InnoDB as been disabled as otherwise our website wouldn't work at all - the majority of the tables are InnoDB and the myISAM ones are largely empty.

I have used the help you gave to expand my research, and now believe my problem lies with the set-up in MariaDB 10.3 or with a known problem with the same.

I greatly appreciate the help you gave me as it gave me other avenues to explore (and increased my understanding as well).

Thank you.

 

 

nicholas
Akeeba Staff
Manager

You're welcome!

PS: I have not experienced issues with InnoDB and MariaDB. However, I have only ever used MariaDB 10.5 on my Ubuntu Server secondary development server. I haven't used 10.3.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

System Task
system
This ticket has been automatically closed. All tickets which have been inactive for a long time are automatically closed. If you believe that this ticket was closed in error, please contact us.

Support Information

Working hours: Typically we work Monday to Friday, 9am to 7pm Cyprus timezone (EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets, but we cannot respond to them, outside of our working hours.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!

Summer vacations: Our support will be closed for replies and new tickets from August 6th to August 21st, 2022 due to summer vacations.