mysql数据库innobackupex备份策略部署文档

XtraBackup介绍

XtraBackup介绍

—在线热备份工具,备份过程中不锁库表,
—只备份表记录,不备份表结构
—表的存储引擎必须是InnoDB/XtraDB
—必须先有一次完全备份,这样再执行备份时才知道那些数据是新产生。
—备份没有建库和表的命令,所以恢复的时候,需要有库和表

主要含两个组件:

—xtrabackup:C程序,支持InnoDB/XtraDB
—innobackupex:以Perl脚本封装xtrabackup,还支持MyISAM

innobackupex常用参数

–compact 创建一个不包含第二索引(除了主键之外的索引)的备份

–decompress 解压之前所有以–compress参数备份出来的带有.qp格式的备份文件,–parallel参数会允许同时解锁或解压多个文件。需要安装qpress软件。

–defaults-file=[MY.CNF] 配置文件的路径

–incremental-basedir 以上一次全量或增量备份的路径,作为增量备份的基础。指定这个参数的同时,应该同样指定–incremental参数

–incremental 创建增量备份,当指定这个参数的时候,应该指定–incremental-lsn或–incremental-basedir参数,否则将会备份到–incremental-basedir路径

–apply-log 在备份目录下,通过应用名称为xtrabackup_logfile的交易日志文件来准备备份。同时,创建新的交易日志。

–use-memory=# 指定数据库恢复时使用的内存大小,需要搭配–apply-log参数。

–redo-only 当准备数据库的全备或合并增量备份时,需要指定这个参数。这个参数实际上执行的是xtrabackup –apply-log-only,会让xtrabackup跳过回滚节点,只做”redo”步骤。当数据库需要应用增量备份时,需要指定这个参数。

–incremental-dir=DIRECTORY 指定增量备份的目录,需要搭配–incremental参数。

–no-timestamp 这个参数会让xtrabackup在备份的时候不创建带有时间格式的子文件夹。当指定了这个参数,备份会直接创建在指定的备份目录下。

–stream=STREAMNAME 指定流备份的格式。备份将会以指定格式输出到STDOUT。目前支持的格式有tar 和 xbstream。如果指定了这个参数,后面需要接tmpdir目录作为处理流的一个中间目录。

–slave-info 当备份一个作为复制环境的服务器时,这个参数会自动将CHANGE MASTER语句写到备份中,在恢复备份后,不必执行CHANGE MASTER语句。

–tables-file=FILE 这个参数会接受一个字符串,这个字符串指定了一个文件,这个文件包含了要备份的表名,格式如database.table,一行一个。

–use-memory=# 这个参数用于在准备备份时,xtrabackup执行crash recovery所使用的内存大小。这个参数仅和–apply-log搭配时才生效。

备份脚本

根据客户要求对mysql 数据库进行备份。

备份采用innobackupex方式。

备份策略:每周一个全备份,每天备份增量,保留七天。

crontab如下:

全库备份脚本如下:

增量备份脚本:

总结

经测试,备份正常。

未经允许不得转载:Oracle一体机用户组 » mysql数据库innobackupex备份策略部署文档

相关推荐