Copying InnoDB tables between servers

July 31, 2009
Author
Vadim Tkachenko
Share this Post:

The feature I announced some time ago https://www.percona.com/blog/2009/06/08/impossible-possible-moving-innodb-tables-between-servers/ is now available in our latest releases of XtraBackup 0.8.1 and XtraDB-6.

Now I am going to show how to use it (the video will be also available on percona.tv).
Let’s take tpcc schema and running standard MySQL ® 5.0.83, and assume we want to copy order_line table to different server. Note I am going to do it online, no needs to lock or shutdown server.

To export table you need XtraBackup, and you can just specify table or table by mask:

Now in

we have backup but only with

and

files

Second step is to prepare backup, but with special option “export”

When it’s done we have two files

and

in directory

. ibd is regular InnoDB ® file, and exp is file with special export information. Both files should be copied to remote server.

Now on remote server you have to run MySQL server ® with XtraDB6 storage engine, you can take one of our binary builds with 5.1.36.

On new server we run

to put XtraDB into extended import mode, and now we need to create empty table with the same table definition as on old servers:

Next step is to remove created .ibd file, it’s done by command:

And now you copy both

and

to

dir. When it’s done, final import command:

now some magic happens and you can see progress of import in error.log

When finished quick check

New table has been imported!

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

Far
Enough.

Said no pioneer ever.
MySQL, PostgreSQL, InnoDB, MariaDB, MongoDB and Kubernetes are trademarks for their respective owners.
© 2026 Percona All Rights Reserved