当前位置:   article > 正文

percona软件介绍 、 innobackupex备份与恢复_percona-xtrabackup-8 innobackupex

percona-xtrabackup-8 innobackupex

一,percona介绍

对比其他备份
在这里插入图片描述
XtraBackup工具

一款强大的在线热备份工具
  -备份过程中不锁库表,适合生产环境
  -有专业组织Percona提供(改进MySQL分支)
主要含两个组件
  -xtrabackup :C程序,支持InnoDB/XtraDB
  -innobackupex :以perl脚本封装xtrabackup,还支持MyISAM
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

XtraBackup是Percona公司的开源项目,用以实现类似Innodb官方的热备份工具InnoDB Hot
Backup的功能,它支持在线热备份(备份时不影响数据读写)。到目前为止,最新的版本为Percona XtraBackup 2.4.7.

  XtraBackup有很多功能和优点:例如支持全备、增量备份、部分备份;支持压缩备份;备份不影响数据读写、事务等,但是也有缺陷不足:例如不支持脱机备份、不支持直接备份到磁带设备、不支持Cloud
  • 1

Back,MyISAM的备份也会阻塞。不过这些小瑕疵不影响XtraBackup成为一款流行的MySQL备份工具。另外,请注意XtraBackup只支持Linux平台,不支持Windows平台。

查看安装列表
}#rpm-ql percona-xtrabackup-24
/usr/bin/innobackupex //备份innodb,xtrdb,myisam引擎的表
/usr/bin/xtrabackup //备份innodb,xtrdb引擎的表
查看帮助

Innobackupex    --help         //常用选项
     man  innobackupex            //详细帮助
  • 1
  • 2

常用选项

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
命令格式

完全备份 }#innobackupex --user 用户名 --password 密码 备份目录名
–no-timestamp

完全恢复
#innobackupex --apply-log 目录名 //准备恢复数据 }#innobackupex --copy-back 目录名 //恢复数据

增量备份

]# innobackupex --user 用户名 --password 密码 --incremental
增量目录 --incremental-basedir=目录 --no—timestamp
增量恢复 ]# innobackupex --apply-log --redo-only 目录名 --incremental-dir=目录名 //准备恢复数据 ]# innobacklupex --copy-back 目录名 //恢复数据

恢复单张表

操作步骤  
  -删除表空间
  -导出表信息
  -拷贝表信息文件到数据库目录下
  -修改表信息文件的所有者及组用户为mysql
   -导入表空间
   -删除数据库目录下的表信息文件
   -查看表记录
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

案列

恢复表记录(恢复gamedb下b表记录)
mysql> alter table gamedb.b discard tablespace; //删除表空间
]# innobackupex --apply-log --export /opt/fullback/ /导出表记录
]# cat /opt/fullbak/gamedb/ (数据库导出操作,完成后数据库目录下会多出“ .cfg,.exp”2个文件 加下面两个) .frm 表结构 .ibd 表记录
#cp /opt/fullbak/gamedb/b.{cfg,exp,ibd} /var/lib/mysql/gamedb/
chown mysql:mysql /var/lib/mysql/gamedb/b.*

mysql> alter table gamedb.b import tablespace; //导入表记录 mysql>
select * from gamedb.b; ]# rm -rf /var/lib/mysql/gamedb/b.exp
(不删除会锁表) ]# rm -rf /var/lib/mysql/gamedb/b.cfg

以下可用脚本执行
完全备份

~]# vim /allbbsdbbak.sh
#!/bin/bash
day=`date +%F`
innobackupex  --user root --password 123456   --databases="information_schema mysql  sys   performance_schema" --no-timestamp   /allbak/$day   &>/dev/null &
  • 1
  • 2
  • 3
  • 4

增量备份

#!/bin/bash
   day=`date +%F`
         if [ `date +%w` -eq  2 ];then
        basedir='/allbak/'`date -d"yesterday" +%F`
   else
        basedir='/newince/'`date -d"yesterday" +%F`
    fi
        innobackupex  --user root --password 123456   --databases="information_schema mysql  sys   performance_schema"           --      incremental /newincre/$day    --incremental-basedir=$basedir    --no-timestamp     &>/dev/null    &
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

最后写入计划任务

00  00  *  *  1   /allbbsbak.sh
     00  00   *  *  2-7   /newbbsdbdat
  • 1
  • 2

a

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/88475
推荐阅读
  

闽ICP备14008679号