mysql单表导入数据,全量备份导入单表

(1)“导出”表
导出表是在备份的prepare阶段进行的,因此,一旦完全备份完成,就可以在prepare过程中通过--export选项将某表导出了:

innobackupex --apply-log --export /backup/xbackup/full/  #这个需要在备份的目录下面执行.  后面的路径是备份的目录.(重要) 不是自己定义的目录.

# innobackupex --apply-log --export /path/to/backup

innobackupex --apply-log --export /backup

此命令会为每个innodb表的表空间创建一个以.exp结尾的文件,这些以.exp结尾的文件则可以用于导入至其它服务器。

(2)“导入”表
要在mysql服务器上导入来自于其它服务器的某innodb表,需要先在当前服务器上创建一个跟原表表结构一致的表,而后才能实现将表导入:
mysql> CREATE TABLE mytable (...)  ENGINE=InnoDB;
#这里要新建表结构
#create table test(id int,name varchar(20),age int) ENGINE=InnoDB;
#mysql> show variables like '%autocommit%';



然后将此表的表空间删除:
mysql> ALTER TABLE mydatabase.mytable  DISCARD TABLESPACE;

接下来,将来自于“导出”表的服务器的mytable表的mytable.ibd和mytable.exp文件复制到当前服务器的数据目录,
然后使用如下命令将其“导入”:(记得改权限)
这里需要改权限很重要
mysql> ALTER TABLE mydatabase.mytable  IMPORT TABLESPACE;

 mysql -uroot -poldboy123 <all_2017-12-25.sql

posted @ 2017-12-25 19:51  滴滴滴  阅读(2942)  评论(0编辑  收藏  举报