XTRABACKUP备份恢复
常用工具及用法 - xtrabackup
特点:
* 开源,在线备份InnoDB表
* 支持限速备份,避免对业务造成影响
* 支持流备
* 支持增量备份
* 支持备份文件压缩与加密
* 支持并行备份与恢复,速度快
基于InnoDB的crash-recovery功能
备份期间允许用户读写,写请求产生redo日志
从磁盘上拷贝数据文件
从InnoDB redo log file实时拷贝走备份期间产生的所有redo日志
恢复的时候 数据文件 + redo日志 = 一致性数据
开源Perl脚本,封装调用xtrabackup及一系列相关工具与OS操作,最终完成备份过程
支持备份InnoDB和其他引擎的表
备份一致性保证
start xtrabackup_log -> copy .ibd; ibdata1 -> FLUSH TABLE WITH READ LOCK -> copy .FRM; MYD; MYI; misc files -> Get binary log position -> UNLOCK TABLES -> stop and copy xtrabackup_log
主要示例:
全量备份
innobackupex --user=root --password=123456--defaults-file=/etc/mysql/my.cnf /dbbackup
1
增量备份
innobackupex --user=root --password=123456--defaults-file=/etc/mysql/my.cnf --incremental --incremental-dir /dbbackup/2016-4-3_13:24:32/dbbackup
1
流方式备份
innobackupex --user=root --password=123456--defaults-file=/etc/mysql/my.cnf --stream=xbstream /dbbackup/ > /dbbackup/stream.bak
1
并行备份
innobackupex --user=root --password=123456--defaults-file=/etc/mysql/my.cnf --parallel=4/dbbackup/
1
限流备份
innobackupex --user=root --password=123456--defaults-file=/etc/mysql/my.cnf --throttle=10/dbbackup/
1
压缩备份
innobackupex --user=root --password=123456--defaults-file=/etc/mysql/my.cnf --compress --compress-thread4/dbbackup/
1
需要考虑的因素
数据库是不是都是innodb引擎表 -> 备份方式,热备or冷备
数据量大小 -> 逻辑备份or物理备份,全量or增量
数据库本地磁盘空间十分充足 -> 备份到本地or远程
需要多块恢复 -> 备份频率 小时or天