Support transportable tablespaces in xtrabackup --export

Registered by Alexey Kopytov

MySQL 5.6 adds support for importing tablespaces from another server. Normally those tables must be exported with FLUSH TABLES FOR EXPORT.

This blueprint is to add support to xtrabackup --export to produce 5.6-style metadata files, so that they can be imported by ALTER TABLE IMPORT TABLESPACE on MySQL 5.6.

Blueprint information

Status:
Complete
Approver:
Alexey Kopytov
Priority:
Medium
Drafter:
Sergei Glushchenko
Direction:
Needs approval
Assignee:
Sergei Glushchenko
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Alexey Kopytov
Completed by
Alexey Kopytov

Whiteboard

    MySQL since 5.6 has support for transportable tablespaces. This feature is
    described briefly in documentation http://dev.mysql.com/doc/refman/5.6/en/tablespace-copying.html.
    More information can be found in http://mysqlblog.fivefarmers.com/2012/09/07/understanding-innodb-transportable-tablespaces-in-mysql-5-6/.
    MySQL use .cfg file which contains InnoDB dictionary dump in special format.
    This format is different from .exp which is used in XtraDB for the same
    purpose.
    To export table one should do as described in
    http://www.percona.com/doc/percona-xtrabackup/xtrabackup_bin/exporting_importing_tables.html.
    Since this blueprint is implemented Xtrabackup along with .exp file produces
    .cfg file. So the tablespace can be imported not only into XtraDB but into
    MySQL 5.6 (and Percona Server 5.6) also.
    To export table one should do as described in
    http://www.percona.com/doc/percona-xtrabackup/xtrabackup_bin/exporting_importing_tables.html.
    To import table into MySQL 5.6 or Percona Server 5.6 one should copy both
    .idb and .cfg to destination server, place them into appropriate folder
    under the data directory and run ALTER TABLE IMPORT TABLESPACE command.
    I.e. user should execute usual steps as he would imported tablespace
    copied from another server with using FLUSH TABLES FOR EXPORT.

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.