xtrabackup 导入或者导入单张表

Posted 晴天小猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xtrabackup 导入或者导入单张表相关的知识,希望对你有一定的参考价值。

默认情况下,innodb 不能通过直接复制表文件的方式在mysql服务器之间进行数据移植。即便你启用了innodb_per_table(每个表一个文件的选项),而使用xtrabackup 工具可以实现此种功能。前提是,你的数据库服务器启用了innodb_per_table 这个功能,就是说,在你创建表之前已经启用了这个选项,还有一个选项是innodb_expand_import
也需要启用这个选项
 
导出单张表:
导出单张表是在备份的基础上实现导出的,而不是直接导出。
是依赖于完全备份的,因此只能先做一次完全备份,才能导出单张表
 
导出单张表:
 
innobackupex --apply-log -export /path/to/save
 
 
这个命令会为每一个innodb表的表空间创建一个以 .exp结尾的文件。
这些 .exp 的文件可以用于导入其他数据库
 
 
导入表:
 
要在mysql服务器上导入来自于其他服务器的某个innodb表,需要先在当前服务器上创建一个与原来表结构相同的表确保创建的表存储引擎也是innodb,并且数据库也需要启用innodb_per_table和innodb_expand_import,才能实现导入
 
创建完一个新表之后,将表空间删除,再导入
删除表空间
alter table db_name.tb_name  discard tablespace;
 
然后将刚才备份出来的以 .exp和.ibd结尾的文件,放到目标数据库的目录下面,并且命名和你刚才新建的表同样的名字,后缀仍然以 .exp 结束
 
导入:
 
alter table db_name.tb_name(就是你命名的.exp文件)  import talbespace;
 
 
 

以上是关于xtrabackup 导入或者导入单张表的主要内容,如果未能解决你的问题,请参考以下文章

mysql 针对单张表的备份与还原

Percona Xtrabackup导出/导入单表

Percona xtrabackup 安装与使用

MySQL之XtraBackup实现完全备份增量备份数据还原

Linux命令:MySQL系列之十二--MySQL备份与还原(针对单张表SELECT备份)

Linux命令:MySQL系列之十三--MySQL备份与还原(针对单张表SELECT备份)