Support

Akeeba Backup for Joomla!

#13935 Restoration failed during database restoration

Posted in ‘Akeeba Backup for Joomla! 4 & 5’
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

Joomla! version
n/a
PHP version
n/a
Akeeba Backup version
n/a

Latest post by nicholas on Thursday, 01 November 2012 11:56 CDT

user34099
Have I read the related troubleshooter articles above before posting (which pages?)? yes
Have I searched the tickets before posting? yes
Have I read the documentation before posting (which pages?)? yes
Joomla! version: 2.5.7
PHP version: 5.2.42 -servage 28
MySQL version: 5.5.25
Host: (optional, but it helps us help you) : Apache
Akeeba Backup version: 3.6.8

EXTREMELY IMPORTANT: Please attach a ZIP file containing your Akeeba Backup log file in order for us to help you with any backup or restoration issue. If the file is over 2Mb, please upload it on your server and post a link to it.

Description of my issue:
I am able to backup the site without any error visible ( log attached ), but when I try to restore the site on my local PC ( php 5.3.13 ). I have an error after the beginning of the database restoration ( hardcopy attached )
I got this error since I have update joomla to 2.5.7 ( never before ).
I had the same error with a previous akkeba version ( 3.4 ? )
When I backup the site updated on my local PC, I am able to restore it.


unable to attache the .zip including 2 files ( the button does not work ??? )

Regards
Dominique

user34099

nicholas
Akeeba Staff
Manager
Please upload the ZIP with your screenshots to a public location (e.g. you server) and paste a link here.

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!

user34099
Ok , thank you;

the zip file is here : http://astrophoto-passion.com/images/Fichiers/telecharger/error.zip
( not on the site where I have the issue I submitted )

Thank you
Dominique

nicholas
Akeeba Staff
Manager
I will disappoint you, I'm afraid. Your live server is using MariaDB, a MySQL fork which uses a different storage engine. The engine is called Aria. This storage engine is not supported on any local server installation that I've ever seen. You will not be able to restore this backup on any server which isn't using MariaDB.

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!

user34099
Yes, I am disapointed...,
nevertheless, could you explain why it was working before the move from joomla 1.7.6 to 2.5.7 ?

Thank you
Dominique

nicholas
Akeeba Staff
Manager
I did further checking. You can do something to allow the site transfer. It's a very long process, but it should work. For each table in the database you'll have to issue this command:
ALTER TABLE `tablename` ENGINE=`MyISAM`

or, if it doesn't work,
ALTER TABLE `tablename` ENGINE=`InnoDB`

where table is the name of your table. This will change the storage engine used to MyISAM (or InnoDB) which will allow the site transfer to happen – after taking a new backup.

nevertheless, could you explain why it was working before the move from joomla 1.7.6 to 2.5.7 ?

You will have to ask your host. Apparently they switched over from MySQL to MariaDB at some point before you upgraded your site. Since that time all new tables were created with Aria, the default database engine for MariaDB. In other words, your upgrade from 1.7.6 to 2.5.7 had nothing to do with it. This is due to an upgrade from your host.

At this point I would like to stress that the Aria engine is also available for MySQL. The problem is that most pre-packaged local server environments only ship with a MySQL package which only has the MyISAM and InnoDB engines. If they did include the Aria engine you wouldn't have a problem. Maybe it's a good idea to go to the support forum of your pre-packaged server environment (e.g. XAMPP, WAMPServer, whatever you're using) and let them know that the Aria engine is something badly needed for making your life easier. Given enough complaints on the support forums the feature will be implemented

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!

user34099
Thank you for these information.
I will ask the server owner about when they did the change.
My point is to be sure to well understand the situation and the risks.

Do you consider that an hoster using this environment could be a risk for website owner ?
because my need to have local copy was for testing some features before to apply on operational server. it's why time to time I refresh my local copy...

Thank you for your advice
Dominique

nicholas
Akeeba Staff
Manager
I wouldn't consider it a risk. There's a log story between the MySQL/MariaDB split. The executive summary is that when Sun (the owner of MySQL) was sold to Oracle some developers left and created MariaDB. Since both projects are open source there's a lot of interaction and code transfer between them. Some people decided to use MariaDB because it is more robust when using its default storage engine called Aria (formerly called, quite confusingly, Maria).

Akeeba Backup doesn't attempt to change the database storage engine used for each table. We do that on purpose. Long story cut short, different database storage engines support different features. If I change, for example, a MyISAM table into InnoDB where there is no full text search (FTS) support any component which requires FTS -such as K2- will fail. Therefore we make developers and the owner of the site ultimately responsible for the choice of the database storage engine.

So here's the problem. On MariaDB the tables are created, by default, with the Aria engine. The common pre-packaged servers (like XAMPP, WAMPServer, MAMP and so on) ship with a MySQL server which either does not have this engine at all, or has it disabled in the configuration. This makes restoring tables impossible. The only workaround is to have your live site use the MyISAM or InnoDB engines which are well supported with both MySQL and MariaDB. To make things more interesting, if you build a site locally and restore it to a live host you'll probably never notice it. Local tables will be MyISAM or InnoDB and are supported on MariaDB as well.

Is there a risk for the site owner? Yes, there is. The database backups can only be restored on a server which supports the Aria engine. There is a manual way to edit the table definitions and restore the site on a different server, but it's complicated and frustrating. It's a last resort.

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!

user34099
Hi,

I did not get confirmation, but it seems that there were no changes on mariadb side, and the issue appeared only after joomla move to 2.5 ???
any other idea about what could be the root cause if it's not linked to a mariadb change ?
I post this reply before having the final answer from the server owner, because today it's my last day from the minisupport I paid ..., could I got extra days without paying again until final answer and this ticket to be closed ?
Thank you
Regards
Dominique

nicholas
Akeeba Staff
Manager
Hello Dominique,

Well, there is no way your tables spontaneously decided to change to an engine which is normally not installed with MySQL. I already told you what happened, so please let me reiterate:
- Your old site had tables using the MyISAM and/or InnoDB tables
- You upgraded the site from Joomla! 1.5/1.6/1.7 to Joomla! 2.5
- Obviously this created new tables.
- The new tables use the default storage engine of your database server
- Since the default is now the Aria engine all your new tables are using the Aria engine
- Since your local server does not support the Aria engine you cannot restore your site

From my end there is no mystery as to what happened. I also do not see a problem with it. Akeeba Backup has done exactly what it is designed to do: produce a 1:1 copy of your site's files and database. The 1:1 copy of your database includes the database engine.

There are two things you can do:
- On the live site you can change the storage engine of all of your tables to MyISAM or InnoDB.
- If that is not possible, you can follow the emergency manual restoration procedure. In Step 3 of the process you can change the engine used in the CREATE TABLE commands to something compatible with your local server environment.

I would personally prefer to follow the first alternative (change the live site's database tables to MyISAM or InnoDB). The second alternative is file for one off transfers but far from being ideal.

Since there is no issue with our software I cannot extend your support subscription. This issue not pending a solution from our side. It is caused because you are trying to transfer your site between two incompatible database server types. If you try to restore the site on a different server which is also using a recent version of MariaDB you will not experience any issues.

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!

user34099
Hello,
I do apologize, so far I did not fully understand all what you said, your last mail is very clear.
So the change about mariadb could have occured sometime before my move to joomla 2.5, the issue appeared when some new tables were created...
My concern was in case of move to another server, and is this case, even if it's not ideal, there is a solution with the emergency manual procedure.

Thank you very much for your help;
best regards
Dominique

nicholas
Akeeba Staff
Manager
You're welcome!

Yes, the truth is that my previous replies were not as clear as I'd want them to be; I was about to leave for Joomla! Day Denmark and was in a rush. I'm glad the last reply clarified this issue for you :)

Yes, the change concerning MariaDB happened sometime before moving to Joomla! 2.5 and the issue appeared when new tables were created on the new site.

Yes, your concern regarding moving the site is valid but the emergency manual procedure always works.

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!

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

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!