mysql数据库innobackupex备份恢复

建议先浏览一下官方文档系统的了解一下XtraBackup
官方文档
仅供个人参考,具体操作需要根据环境和配置的不同进行相应更改

innobackupex命令常用选项

–host 主机名
–user 用户名
–port 端口号
–password 密码
–databases 数据库名
–no-timestamp 不用日期命名备份文件存储的子目录名
–redo-only 日志合并
–apply-log 准备还原(回滚日志)
–copy-back 恢复数据
–incremental 目录名 增量备份
–incremental-basedir=目录名 增量备份时,指定上一次备份数据存储的目录名
–incremental-dir=目录名 准备恢复数据时,指定增量备份数据存储的目录名
–export 导出表信息
import 导入表空间

补充:
–databases=“库名” 单个库
–databases=“库1 库2” 多个库
–databases=“库.表” 单个表

更多选项参考

备份

全备

innobackupex --user=‘root’ --password=‘123456’ /data
/data:为全库保存的目标目录

增量备份

innobackupex --user=‘root’ --password=‘123456’ --incremental /data/incremental --incremental-basedir=’/data/2019-11-10’

–incremental:该选项告诉xtrabackup创建增量备份,而不是完整备份。它被传递给xtrabackup子进程。指定此选项后,还可以指定–incremental-lsn或–incremental-basedir。如果两个选项都没有提供,则将默认选项 --incremental-basedir传递给xtrabackup,设置为备份基本目录中的第一个时间戳备份目录。
/data/incremental:指定增量备份到此目录下,要紧跟着选项–incremental后面写

–incremental-basedir:此选项指定增量备份与完整备份相结合以进行新的完整备份的目录。该选项接受字符串参数。它与–incremental选项一起使用。

恢复

再恢复之前需要先停掉mysql服务,并且要备份数据库文件清空mysqldata目录:(以centos 6为例,centos 7服务管理命令请参考相关文档)

[root@Tomact-Proxy ~]# /etc/init.d/mysqld stop
Stopping mysqld:                                           [  OK  ]
[root@Tomact-Proxy ~]# mv /var/lib/mysql/ /backup/mysql/

全备恢复

  1. 准备备份

innobackupex --user=‘root’ --password=‘123456’ --apply-log /data/2019-11-10

  1. 恢复备份

innobackupex --defaults-file=my.cnf --user=‘root’ --password=‘123456’ --copy-back /data/2019-11-10

–apply-log:通过应用位于相同目录中的名为“xtrabackup_logfile”的事务日志文件,在备份目录中准备备份。另外,创建新的事务日志。InnoDB配置是从“backup-my.cnf”文件读取的。

–copy-back: 将先前备份目录中的所有文件复制到其原始位置。

  1. 恢复完成之后需要给mysql-data赋权

chown -R mysql:mysql /var/lib/mysql

增量恢复

  1. 准备备份

要准备备份,请使用该选项并指定带有时间戳的子目录。为了加快应用日志的过程,请使用:innobackupex --apply-log innobackupex --use-memory

1,停止数据库服务
2,备份mysql-data目录文件并清空
3,基于全备进行增倍恢复

innobackupex --user='root' --password='123456' --apply-log /data/2019-11-10
innobackupex --user=root --password=123456 --apply-log --redo-only /data/2019-11-10 --incremental-dir=/backup/increment

nnobackupex --defaults-file=my.cnf --user='root' --password='123456' --copy-back /data/2019-11-10

##给mysql-data目录赋权
chown -R mysql:mysql /var/lib/mysql
##启动数据库
/etc/init.d/mysqld start

参考:https://www.cnblogs.com/Amaranthus/archive/2014/08/19/3922570.html#_Toc396231227

恢复之后需要开启bin-log日志参考:https://www.cnblogs.com/liushuiwuqing/p/4014339.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值