Why I can't use Xtrabackup in my company

Hello everyone,

I’ve been playing around with the Xtrabackup tool for a month now, and I got to admit : it is really powerful :slight_smile:

I’m still testing it to backup database servers between 5 and 150 GB and the backup/restoration time are impressive. So I’m trying to push the use of this tool to my manager, saying the only inconvenient we could have is the backup archive size (which is 3x/4x time larger than with mysqldump) and on the other part we gain faster times on backup/restoration, no lock during the backup process and the ability to stream backups to servers.

He was quite impressed by the capability of the tool, but the most important part for him in a backup/restore process is to be able to restore a specific table of a database quickly. As for what I know about this tool, I’m still thinking that this is not possible with Xtrabackup right now. Am I right?

We’re using the following softwares :

Ubuntu 12.04
MySQL Server 5.5.32
Xtrabackup 2.1.3-608.precise

PS: I’ve seen some solutions to restore a specific table from a backup created with Xtrabackup, but it always require Percona Server.

Hello,

Yes it is possible but has a few extra requirements.
You can read all about it here: [URL]Percona XtraBackup

Kind Regards,

Hi, thanks for the answer.

But, I’ve already read this part of the documentation, and it is stated in the first lines :

"

It’s specified “from any InnoDB database to Percona Server”, I’m not using Percona Server.

Did someone tried this process on a MySQL server?

Hi,

That is why I mentioned that it has some extra requirements. As the process depends on an option only available to percona server it will not work in a standard MySQL installation. Percona server is a drop in 100% compatible MySQL replacement so if you really need that functionality there is not reason not to use it.

This feature is known as Percona Xtrabackup Partial Backups To restore a specific table from full database backup is possible in Oracle MySQL 5.6. For that, you need to create tables manually on MySQL 5.6 first, DISCARD TABLESPACE, copy .cfg and .ibd file for table and finally IMPORT TABLESPACE on destination server. This feature is named as Transportable Tablespace. You can read further about it here [URL=“http://dev.mysql.com/doc/refman/5.6/en/tablespace-copying.html”]http://dev.mysql.com/doc/refman/5.6/...e-copying.html[/URL]

Further, there is other workaround too, you can restore a full backup taken via xtrabackup to test mysql instance and dump that specific table via mysqldump program which need to restore and restore it back to your target Oracle MySQL server. Off course, this is much faster if the target table is not huge otherwise it will take time to backup/restore. This will work regardless of whatever MySQL version you use.

Hope that helps.

Hello,

Thanks for your answers. We’ll have to upgrade our MySQL server.