xtrabackup全量备份和增(差)量备份

1.xtrabackup全量备份和恢复

1)备份:

	innobackupex --default-file=/PATH/TO/DEFAULT --host=ID ADDR --user=USER_NAME -P PASSWORD /PATH/TO/BACKUP
--default-file:指定备份时,从那个配置文件中读取配置信息。默认是使用的默认主配置文件,此时可以不写
--host:指定数据库服务ip地址。默认为localhost,此时可不写
--user:指定连接数据库服务的用户。默认为root,此时可不写
-p:指定用户密码
/PATH/TO/BACKUP:备份文件存放目录
注意:
completed OK!字样,有它才说明备份成功,innobackupex会把备份过程完整输出到屏幕。

2)备份目录文件:

	在你所指定的备份目录下可以找到以当前时间命令的备份文件
[root@localhost backup]#ls
2017-11-18_19-39-17
[root@localhost backup]#ll 2017-11-18_19-39-17/
total 18460
-rw-r----- 1 root root 417 Nov 18 19:39 backup-my.cnf
-rw-r----- 1 root root 18874368 Nov 18 19:39 ibdata1
drwxr-x--- 2 root root 4096 Nov 18 19:39 mysql/
drwxr-x--- 2 root root 4096 Nov 18 19:39 performance_schema/
drwxr-x--- 2 root root 78 Nov 18 19:39 Syslog/
-rw-r----- 1 root root 19 Nov 18 19:39 xtrabackup_binlog_info
-rw-r----- 1 root root 113 Nov 18 19:39 xtrabackup_checkpoints
-rw-r----- 1 root root 448 Nov 18 19:39 xtrabackup_info
-rw-r----- 1 root root 2560 Nov 18 19:39 xtrabackup_logfile 文件介绍:
backup-my.cnf:
此文件中包含my.cnf中的设置信息,只包含了备份时需要的信息。
ibdata1:
这是个innodb的共享表空间文件
xtrabackup_binlog_info:
此文件记录了备份开始时二进制日志文件的位置(position)
xtrabackup_checkpoints:
此文件记录此次备份属于那种类型的备份等信息
xtrabackup_info:
此文件记录了备份的概要信息
xtrabackup_logfile:
此文件记录了备份过程中的日志,在对数据进行prepare时需要通过日志将数据还原成一致的可用备份数据

3)查看备份情况:

	cat /backup/2017-11-18_19-39-17/xtrabackup_checkpoints
backup_type = full-backuped
from_lsn = 0
to_lsn = 1947282
last_lsn = 1947282
compact = 0
recover_binlog_info = 0

4)恢复:

	在需要还原的服务器上安装xtrabackup。
把备份的整个目录拷贝到需要还原的服务器上。
两个服务器上的mysql版本需要相同(不相同的没试过)
1》prepare:
innobackupex --apply-log /PATH/TO/BACKUP/dir-quan
--apply-log:将目录中的日志应用到备份数据中
--use-memory=N:默认为100M,若备份数据量大且有足够的空闲内存时,可以用来指定大小的内存来工作,单位可以使用G,M....。
注意:
completed OK!字样
2》开始恢复:
确保服务停止
systemctl stop mariadb
数据目录必须为空目录
rm -rf /PATH/TO/DATADIR/*
数据目录一般为/var/lib/mysql/
恢复
innobackupex --datadir=/PATH/TO/DATADIR/ --copy-back /PATH/TO/BACKUP/dir-quan
修改权限
chown -R mysql: /PATH/TO/DATADIR/
启动服务
systemctl start mariadb
注意:
实际还原时,最好将对应的配置文件也都还原,也就是把原服务器上的配置拷贝下,确保配置还是原来的。
上述恢复并没有进行时间点的还原,实际工作中,需要进行。

2.xtrabackup增(差)量备份及恢复

	全量备份是差量备份与增量备份的基础。
差量备份只能针对上一次全量备份。
增量备份可以针对上一次任务一种备份。
通俗地来说:所有增量备份加到一起就是差量备份了。
增量和差量备份都是针对innodb表来说的,对myisam表来说即使执行了增量备份,其实也是全量备份。
注意:以下常说成增量,大家注意增量和差量间的区别就行。

1)增(差)量备份:

	innobackupex -pPASSWORD --incremental /PATH/TO/BACKUP --incremental-basedir=/PATH/TO/BACKUP/last-backup-file
--incremental /PATH/TO/BACKUP:表示本次备份是一个增量备份(若针对的上次备份为一个全量备份,这里也可以认为是个差量备份)
--incremental-basedir=/PATH/TO/BACKUP/last-backup-file:指定本次增量备份针对的是那个备份(可以是上个增量,也可以是上个全量)

2)查看备份情况:

	cat /backup/2017-11-20_03-43-15/xtrabackup_checkpoints
backup_type = incremental
from_lsn = 1947282
to_lsn = 2073366
last_lsn = 2073366
compact = 0
recover_binlog_info = 0
cat /backup/2017-11-20_03-51-32/xtrabackup_checkpoints
backup_type = incremental
from_lsn = 2073366
to_lsn = 2084330
last_lsn = 2084330
compact = 0
recover_binlog_info = 0

3)恢复:

	在需要还原的服务器上安装xtrabackup。
把备份的整个目录拷贝到需要还原的服务器上。
两个服务器上的mysql版本需要相同。
1》prepare:
对全量备份做准备工作
innobackupex --apply-log --redo-only /PATH/TO/BACKUP/dir-quan
--redo-only:表示进行准备(应用日志)工作时,只进行redo操作,只会重做已提交但未应用的事务,不会回滚未提交的事务。原因是后面还有个增量备份,未提交的可能在后面增量备份时进行提交。
对增(差)量备份做准备工作
innobackupex --apply-log [--redo-only] /PATH/TO/BACKUP/dir-quan --incremental-dir= /PATH/TO/BACKUP/dir-zeng
--redo-only:若只有一个增量备份或是最后那个增量备份文件,那么不需要这个选项,原因同上。也就是说这个选项不能用于最后一个增量备份进行prepare。
--incremental-dir=:此选项对应的目录为增量备份文件的目录
查看prepare情况
若不是对最后一个增量备份进行prepare,那么查看全量备份文件中的xtrabackup_checkpoints,可看到log-applied,LSN有所变化,可以和增量备份对比下。
cat /backup/2017-11-18_19-39-17/xtrabackup_checkpoints
backup_type = log-applied
from_lsn = 0
to_lsn = 2073366
last_lsn = 2073366
compact = 0
recover_binlog_info = 0
若是以及对最后一个增量备份进行了prepare,那么查看全量备份文件中的xtrabackup_checkpoints,可看到full-prepared,LSN有所变化
cat /backup/2017-11-18_19-39-17/xtrabackup_checkpoints
backup_type = full-prepared
from_lsn = 0
to_lsn = 2084330
last_lsn = 2084330
compact = 0
recover_binlog_info = 0
注意:
prepared中可以使用--user-memory=选项来加快速度,前提是你有空闲的内存可用。
--redo-only这个选项需要多加注意,它不能用于最后那个增量备份的prepared,且必须用于其他增量备份的prepared。原因是后面还有增量备份的,未提交的可能在后面增量备份时进行提交。 2》开始恢复:
确保服务停止
systemctl stop mariadb
数据目录必须为空目录
rm -rf /PATH/TO/DATADIR/*
数据目录一般为/var/lib/mysql/
恢复
innobackupex --datadir=/PATH/TO/DATADIR/ --copy-back /PATH/TO/BACKUP/dir-quan
修改权限
chown -R mysql: /PATH/TO/DATADIR/
启动服务并查看是否恢复
systemctl start mariadb
注意:
实际还原时,最好将对应的配置文件也都还原,也就是把原服务器上的配置拷贝下,确保配置还是原来的。
上述恢复并没有进行时间点的还原,实际工作中,需要进行。

3.binlog备份和恢复

        上述都没有说有关时间点的恢复,这个时间点恢复是指当你全量备份或增量备份后,下次备份还没开始,数据库发生故障后的备份和恢复。
这个时间点恢复的备份和恢复是通过binlog实现的。
备份
mysqlbinlog -j 245 binlog-log.xxxxxxx > /PATH/TO/BINLOG.sql
恢复
登录数据库的恢复
mysql > soure /PATH/TO/BINLOG.sql
or
mysql -uroot -p < /PATH/TO/BINLOG.sql

xtrabackup全量备份和增(差)量备份的更多相关文章

  1. Jenkins持续部署-创建差量更新包

    目录 Jenkins持续部署-创建差量更新包 目录 前言 目的 详细流程 生成版本号 获取版本号 创建文件更新清单 压缩 获取上个版本的包 创建差量更新包 读取服务器Json配置 远程创建文件夹目录 ...

  2. Xtrabackup全量 增量备份详解

    xtrabackup是Percona公司CTO Vadim参与开发的一款基于InnoDB的在线热备工具,具有开源,免费,支持在线热备,备份恢复速度快,占用磁盘空间小等特点,并且支持不同情况下的多种备份 ...

  3. 15、xtrabackup 全量备份

    xtrabackup 全量备份与恢复 安装 yum install https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2. ...

  4. Xtrabackup全量备份与恢复mysql数据库

    一.Xtrabackup简单概述: Percona  Xtrabackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同 ...

  5. mysqldump全量备份+mysqlbinlog二进制日志增量备份

    日常的数据备份及恢复测试,是DBA工作重中之重的事情,所以要做好备份及测试,日常的备份常见有mysqldump+binlog备份.xtrabackup+binlog备份,无论那一种,几乎都少不了对bi ...

  6. zabbix3.4 监控网卡流量设置差量

    自定义监控项的时候 看里面预设的监控网卡下载流量的key是 net.if.in[if,<mode>]这次可以监控流量了 但是添加监控项的时候 看网上别人的 都是可以设置数值是每秒的差量 出 ...

  7. 编写 Target 检测 MSBuild / dotnet build 此次编译是否是差量编译

    MSBuild 或 Roslyn 编译项目时均支持差量编译,毕竟为了性能.我在 每次都要重新编译?太慢!让跨平台的 MSBuild/dotnet build 的 Target 支持差量编译 一文中介绍 ...

  8. 每次都要重新编译?太慢!让跨平台的 MSBuild/dotnet build 的 Target 支持差量编译

    如果你干预到了项目的编译过程,可能就需要考虑到差量编译了.不然--当你的项目大起来的时候,就会感受到每次都重新编译时,每次重复调试的过程都要进行漫长等待时的绝望和无奈. 如果你正遭遇差量编译失效,每次 ...

  9. 如何用Percona XtraBackup进行MySQL从库的单表备份和恢复【转】

    前提 应该确定采用的是单表一个表空间,否则不支持单表的备份与恢复. 在配置文件里边的mysqld段加上 innodb_file_per_table = 1 环境说明: 主库:192.168.0.1 从 ...

随机推荐

  1. VIM常见用法总结

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  2. umask的作用[转]

    umask的作用 umask 命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主.同组用户.其他用户)存在一个相应的umask值中的数字.对于文件来说,这一数字的最 大值分别是6.系统不允许 ...

  3. 阿里云ECS搭建SVN配置外网

    阿里云ECS搭建SVN后,配置外网启动不了,检查云服务器没发现问题,后来发现是阿里云拦截,需要在阿里云控制台ECS安全组新增如下配置:

  4. MySQL 配置文件my.cnf

    转载: MySQL配置文件my.cnf 详解:#BEGIN CONFIG INFO#DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大#TYPE: SYSTEM ...

  5. TP框架设置的LOG_LEVEL不起作用

    最近监控系统日志,可是日志是全部级别的日志,没有办法看太多了.只想看有用的信息. 就在config文件中修改了配置文件.可是试了以后并没有变化,log文件还是全部级别的信息. 后来发现调试模式开启着, ...

  6. [Spark內核] 第42课:Spark Broadcast内幕解密:Broadcast运行机制彻底解密、Broadcast源码解析、Broadcast最佳实践

    本课主题 Broadcast 运行原理图 Broadcast 源码解析 Broadcast 运行原理图 Broadcast 就是将数据从一个节点发送到其他的节点上; 例如 Driver 上有一张表,而 ...

  7. 【树状数组】BZOJ3132 上帝造题的七分钟

    3132: 上帝造题的七分钟 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 1004  Solved: 445[Submit][Status][Dis ...

  8. KandQ:那年,那树,那些知识点

    写在前面:  对于数据结构的学习,注定绕不开"树"这一起着重要作用的数据结构."树"在整个数据结构的学习过程中具有举足轻重的地位,而与"树" ...

  9. 通用后台管理系统UI-AdminLTE:构造动态菜单栏

    AdminLTE是一款基于bootstrap的后台管理系统的通用模板UI,它的样式美观且较为符合大多数后台管理系统的需求,典型的上|左右|下的布局形式.并且提供了一整套我们开发的时候可能用到的UI样式 ...

  10. Vue2.0 相对于Vue1.0的变化:生命周期

    1.生命周期 根据提供的生命周期钩子说明Vue.js实例各个阶段的情况,Vue.js 2.0对不少钩子进行了修改,以下说明:(灰色字体代表是 2.0已经废弃或者被更名的钩子,黑色字体代表1.0 和2. ...