~percona-core/percona-xtrabackup/2.0

« back to all changes in this revision

Viewing changes to doc/source/xtrabackup_bin/restoring_individual_tables.rst

  • Committer: Hrvoje Matijakovic
  • Date: 2013-11-14 12:31:04 UTC
  • mfrom: (587.2.1 2.0)
  • Revision ID: hrvoje.matijakovic@percona.com-20131114123104-j8tlm7i9ba4oscn9
Bugs fixed: Bug #1246955, Bug #1222818, Bug #1230311 and Bug #1183322

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
.. _export_import_tables:
2
2
 
3
 
================================
4
 
 Exporting and Importing Tables
5
 
================================
 
3
=============================
 
4
 Restoring Individual Tables
 
5
=============================
6
6
 
7
 
In |InnoDB| versions prior to 5.6, it is not possible to copy tables between servers by copying the files, even with :term:`innodb_file_per_table`. However, with the |xtrabackup| binary, you can export individual tables from any |InnoDB| database, and import them into |Percona Server| with |XtraDB| or |MySQL| 5.6. (The source doesn't have to be |XtraDB| or or |MySQL| 5.6, but the destination does.) This functionality requires :term:`innodb_file_per_table` to be used on both servers, and requires :term:`innodb_expand_import` to be enabled on the destination server. It only works on individual :term:`.ibd` files, and cannot export a table that is not contained in its own :term:`.ibd` file.
 
7
In server versions prior to 5.6, it is not possible to copy tables between servers by copying the files, even with :term:`innodb_file_per_table`. However, with |Percona XtraBackup|, you can export individual tables from any |InnoDB| database, and import them into |Percona Server| with |XtraDB| or |MySQL| 5.6. (The source doesn't have to be |XtraDB| or or |MySQL| 5.6, but the destination does.) This only works on individual :term:`.ibd` files, and cannot export a table that is not contained in its own :term:`.ibd` file.
8
8
 
9
9
Let's see how to export and import the following table: ::
10
10
 
12
12
    a int(11) DEFAULT NULL
13
13
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
14
14
 
 
15
.. note:: 
 
16
 
 
17
   If you're running |Percona Server| version older than 5.5.10-20.1, variable `innodb_expand_import <http://www.percona.com/doc/percona-server/5.5/management/innodb_expand_import.html#innodb_expand_import>`_ should be used instead of `innodb_import_table_from_xtrabackup <http://www.percona.com/doc/percona-server/5.5/management/innodb_expand_import.html#innodb_import_table_from_xtrabackup>`_.
 
18
 
15
19
Exporting the Table
16
20
===================
17
21
 
35
39
 
36
40
.. note:: 
37
41
 
38
 
  |MySQL| uses ``.cfg`` file which contains |InnoDB| dictionary dump in special format. This format is different from the ``.exp`` one which is used in |XtraDB| for the same purpose.
 
42
  |MySQL| uses ``.cfg`` file which contains |InnoDB| dictionary dump in special format. This format is different from the ``.exp`` one which is used in |XtraDB| for the same purpose. Strictly speaking, a ``.cfg`` file is not required to import a tablespace to |MySQL| 5.6 or |Percona Server| 5.6. A tablespace will be imported successfully even if it is from another server, but |InnoDB| will do schema validation if the corresponding ``.cfg`` file is present in the same directory.
39
43
 
40
44
Importing the Table
41
45
===================
42
46
 
43
 
On the destination server running |Percona Server| with |XtraDB| and :term:`innodb_expand_import` option enabled, or |MySQL| 5.6, create a table with the same structure, and then perform the following steps:
 
47
On the destination server running |Percona Server| with |XtraDB| and `innodb_import_table_from_xtrabackup <http://www.percona.com/doc/percona-server/5.5/management/innodb_expand_import.html#innodb_import_table_from_xtrabackup>`_ option enabled, or |MySQL| 5.6, create a table with the same structure, and then perform the following steps:
44
48
 
45
49
* Execute ``ALTER TABLE test.export_test DISCARD TABLESPACE;``
46
50