XtraBackup部分备份

  

  可以使用Xtrabackup工具仅仅对某几张表进行数据恢复。   

  

  实验场景:   

  

  ,,端口3306的实例上有一张表t3,而端口3308的实例上没有。实验目的将端口3306的t3表恢复到端口3308的实例上。   

  

  步骤:   

  

  1,确保端口3306的实例的配置文中件my . cnf中所做有设置如下参数:   

  

  ,,,,InnoDB_FAST_SHUTDOWN=0,,——此参数MySQL在关闭的时候,需要完成所有完整的清洗和合并插入缓冲操作。
  ,,,,InnoDB_File_Per_Table=> exp文件适用于,适用于和。可以直接通过和文件。之后可以不使用来进行,如果存在会被用来做表结构的验证。   

  

  
  

  

  3、在目标实例上创建一个和源实例中的t3表一模一样的表   

  

  源实例查看t3表的表结构创建语句:
  mysql - s/usr/local/mysql/mysql.袜子-uroot 3306 - p - p
  mysql>显示创建表t3 \ G;,,,,,,,,
  * * * * * * * * * * * * * * * * * * * * * * * * * * * 1。行* * * * * * * * * * * * * * * * * * * * * * * * * * *
  ,,,,,表:t3
  创建表:创建表的t3 (
  ,“主机”char(60)字符集utf8核对utf8_bin NOT NULL违约”,
  ,“用户”char(16)字符集utf8核对utf8_bin NOT NULL违约”,
  ,“密码”char(41)字符集latin1整理中的一个latin1_bin NOT NULL违约”,
  ,.........省略.............
  )引擎=InnoDB的默认字符集=utf8
  1行集(0.14秒)   

  

  目标实例创建表t3:
  mysql - s/usr/local/mysql3308/mysql.袜子-uroot 3308 - p - p
  mysql>使用lxm;
  数据库修改
  mysql>显示表;
  空集(0.00秒)   

  

  mysql>创建表的t3 (
  ,,:,,,“主机”char(60)字符集utf8核对utf8_bin NOT NULL违约”,
  ,,:,,,“用户”char(16)字符集utf8核对utf8_bin NOT NULL违约”,
  ,,:,,,“密码”char(41)字符集latin1整理中的一个latin1_bin NOT NULL违约”,
  ,,:,,,,..........省略.............
  ,,→)引擎=InnoDB默认字符集=utf8;
  查询好,0行影响(0.05秒)   

  

  
  

  

  4,目标实例表空间   

  

  在表空间之前,mysql3308的t3表数据文件如下:   

  

  [root@single1 lxm] # ls - l
  112
  -rw-rw - - - - -。1 mysql mysql ,,61年8月30日17:09 db。选择
  -rw-rw - - - - -。10684 8月30日17:09 mysql mysql t3.frm
  -rw-rw - - - - -。98304 8月30日17:09 mysql mysql t3.ibd   

  

  
  

  

  丢弃表空间:   

  

  mysql - s/usr/local/mysql3308/mysql.袜子-uroot - p - p 3308   

  

  mysql>ALTER TABLE t3丢弃表空间;
  查询好,0行影响(0.01秒)
  mysql>显示表;
  + - - - - - - - - - - - - - - - - - - +
  | Tables_in_lxm |
  + - - - - - - - - - - - - - - - - - - +
  | t3 ,,,,,,,,,,|
  + - - - - - - - - - - - - - - - - - - +
  1行集(0.00秒)   

  

  
  

  

  在丢弃表空间之后,mysql3308的t3表数据文件如下:
  [root@single1 lxm] # ls - l
  总共16
  -rw-rw - - - - -。1 mysql mysql ,,61年8月30日17:09 db。选择
  -rw-rw - - - - -。10684 8月30日17:09 mysql mysql t3.frm   

  

  
  

  

  5、将备份文件中的t3。idb和t3。cfg文件拷贝到目标实例的数据文件路径中:   

  

  ,,,,,,,cp - r/tmp/备份/2016 - 08 - 30 - _16 - 34 - 50/lxm/t3.cfg /usr/local/mysql3308/data/lxm/
  ,,,,,,,cp - r/tmp/备份/2016 - 08 - 30 - _16 - 34 - 50/lxm/t3.ibd /usr/local/mysql3308/data/lxm/

  

  ,,,修改t3。idb和t3。cfg文件的属组为mysql:   

  

  ,,,,,,,乔恩mysql: mysql t3.cfg    

  

  ,,,,,,,乔恩mysql: mysql t3.ibd    

  

  
  

  

  6、导入表   

  

  mysql - s/usr/local/mysql3308/mysql.袜子-uroot - p - p 3308   

  

  mysql>ALTER TABLE t3导入表空间;
  查询好,0行影响(0.01秒)   

  

  mysql>显示表;
  + - - - - - - - - - - - - - - - - - - +
  | Tables_in_lxm |
  + - - - - - - - - - - - - - - - - - - +
  | t3 ,,,,,,,,,,|
  + - - - - - - - - - - - - - - - - - - +
  1行集(0.00秒)   

XtraBackup部分备份