环境:CentOS 6.7  + Mysql 5.7.19 + Xtraback 2.4.8

innobackupex常用参数:
--user=USER 指定备份用户,不指定的话为当前系统用户
--password=PASSWD 指定备份用户密码
--port=PORT 指定数据库端口
--defaults-group=GROUP-NAME 在多实例的时候使用
--host=HOST 指定备份的主机,可以为远程数据库服务器
--apply-log 回滚日志
--database 指定需要备份的数据库,多个数据库之间以空格分开
--defaults-file 指定mysql的配置文件
--copy-back 将备份数据复制回原始位置
--incremental 增量备份,后面跟要增量备份的路径
--incremental-basedir=DIRECTORY 增量备份时使用指向上一次的增量备份所在的目录
--incremental-dir=DIRECTORY 增量备份还原的时候用来合并增量备份到全量,用来指定全备路径
--redo-only 对增量备份进行合并
--rsync 加快本地文件传输,适用于non-InnoDB数据库引擎。不与--stream共用
--no-timestamp 生成的备份文件不以时间戳为目录.

示例组1:全备还原

#数据目录:/data/mysql
$ mkdir -pv /backup///full
#本地 单实例 全量备份
$ innobackupex --defaults-file=/etc/my.cnf --user=root --password= --socket=/tmp/mysql.sock --no-timestamp --parallel= /backup///full
#还原
$ innobackupex --apply-log /backup///full
$ service mysqld stop
$ mv /data/mysql /data/mysql_bak_201711071 ##备份原数据目录
$ mkdir -pv /data/mysql
$ innobackupex --copy-back /backup///full
$ chown -R mysql:mysql /data/mysql
$ service mysqld start

示例组2:增量还原

#数据目录:/data/mysql
$ mkdir -pv /backup///{full,inc1,inc2,inc3}
#本地 单实例 全量备份
$ innobackupex --defaults-file=/etc/my.cnf --user=root --password= --socket=/tmp/mysql.sock --no-timestamp --parallel= /backup///full
#本地 单实例 增量备份1
$ mysql -S /tmp/mysql.sock -uroot -p123456 -e "create table tpccdb.tb2(col1 varchar(16));"
$ mysql -S /tmp/mysql.sock -uroot -p123456 -e "insert into tpccdb.tb2 values('1'),('2'),('3'),('第一次插入结束');"
$ innobackupex --defaults-file=/etc/my.cnf --user=root --password= --socket=/tmp/mysql.sock --no-timestamp --parallel= --incremental-basedir=/backup///full --incremental /backup///inc1
#本地 单实例 增量备份2
$ mysql -S /tmp/mysql.sock -uroot -p123456 -e "insert into tpccdb.tb2 values('4'),('5'),('6'),('第二次插入结束');"
$ innobackupex --defaults-file=/etc/my.cnf --user=root --password= --socket=/tmp/mysql.sock --no-timestamp --parallel= --incremental-basedir=/backup///inc1 --incremental /backup///inc2
#本地 单实例 增量备份3
$ mysql -S /tmp/mysql.sock -uroot -p123456 -e "insert into tpccdb.tb2 values('7'),('8'),('9'),('第三次插入结束');"
$ innobackupex --defaults-file=/etc/my.cnf --user=root --password= --socket=/tmp/mysql.sock --no-timestamp --parallel= --incremental-basedir=/backup///inc2 --incremental /backup///inc3
#还原
$ innobackupex --apply-log --redo-only /backup///full
$ innobackupex --apply-log --redo-only /backup///full --incremental-dir=/backup///inc1
$ innobackupex --apply-log --redo-only /backup///full --incremental-dir=/backup///inc2
$ innobackupex --apply-log /backup///full --incremental-dir=/backup///inc3
$ innobackupex --apply-log /backup///full
$ service mysqld stop
$ mv /data/mysql /data/mysql_bak_201711072 ##备份原数据目录
$ mkdir -pv /data/mysql
$ innobackupex --copy-back /backup///full
$ chown -R mysql:mysql /data/mysql
$ service mysqld start
$ mysql -S /tmp/mysql.sock -uroot -p123456 -e "select * from tpccdb.tb2;"

示例组3:完全&定点&误操作恢复

#数据目录:/data/mysql
$ mkdir -pv /backup///{full,inc1,inc2}
#本地 单实例 全量备份
$ innobackupex --defaults-file=/etc/my.cnf --user=root --password= --socket=/tmp/mysql.sock --no-timestamp --parallel= /backup///full
#本地 单实例 增量备份1
$ mysql -S /tmp/mysql.sock -uroot -p123456 -e "create table tpccdb.tb3(col1 varchar(16));"
$ mysql -S /tmp/mysql.sock -uroot -p123456 -e "insert into tpccdb.tb3 values('1'),('2'),('3'),('第一次插入结束');"
$ innobackupex --defaults-file=/etc/my.cnf --user=root --password= --socket=/tmp/mysql.sock --no-timestamp --parallel= --incremental-basedir=/backup///full --incremental /backup///inc1
#本地 单实例 增量备份2
$ mysql -S /tmp/mysql.sock -uroot -p123456 -e "insert into tpccdb.tb3 values('4'),('5'),('6'),('第二次插入结束');"
$ innobackupex --defaults-file=/etc/my.cnf --user=root --password= --socket=/tmp/mysql.sock --no-timestamp --parallel= --incremental-basedir=/backup///inc1 --incremental /backup///inc2 $ mysql -S /tmp/mysql.sock -uroot -p123456 -e "insert into tpccdb.tb3 values('7'),('8'),('9'),('第三次插入结束');" ##二进制日志恢复
$ mysql -S /tmp/mysql.sock -uroot -p123456 -e "flush logs;"
$ mysql -S /tmp/mysql.sock -uroot -p123456 -e "insert into tpccdb.tb3 values('10'),('11'),('12'),('第四次插入结束');"
$ mysql -S /tmp/mysql.sock -uroot -p123456 -e "flush logs;"
$ mysql -S /tmp/mysql.sock -uroot -p123456 -e "insert into tpccdb.tb3 values('13'),('14'),('15'),('第五次插入结束');" #恢复
$ innobackupex --apply-log --redo-only /backup///full
$ innobackupex --apply-log --redo-only /backup///full --incremental-dir=/backup///inc1
$ innobackupex --apply-log /backup///full --incremental-dir=/backup///inc2
$ innobackupex --apply-log /backup///full
$ cat /backup///inc2/xtrabackup_binlog_info ##获取最后一次备份的LSN
## mysql-bin.
$ ll -t /data/mysql/mysql-bin* ##查看有多少个需要导入的二进制文件
-rw-r----- mysql mysql Nov : /data/mysql/mysql-bin.
-rw-r----- mysql mysql Nov : /data/mysql/mysql-bin.
-rw-r----- mysql mysql Nov : /data/mysql/mysql-bin. $ mysqlbinlog --start-position= /data/mysql/mysql-bin. -vv >> /tmp/load.sql
$ mysqlbinlog /data/mysql/mysql-bin. -vv >> /tmp/load.sql
$ mysqlbinlog /data/mysql/mysql-bin. -vv >> /tmp/load.sql ##完全恢复 #$ mysqlbinlog --stop-position= /data/mysql/mysql-bin. -vv >> /tmp/load.sql ##指定点恢复 #$ mysqlbinlog --stop-position= /data/mysql/mysql-bin. -vv >> /tmp/load.sql ##误删除恢复(误操作前停止)
#$ mysqlbinlog --start-position= /data/mysql/mysql-bin. -vv >> /tmp/load.sql ##误删除恢复(误操作后继续) $ service mysqld stop
$ mv /data/mysql /data/mysql_bak_201711073 ##备份原数据目录
$ mkdir -pv /data/mysql
$ innobackupex --copy-back /backup///full
$ chown -R mysql:mysql /data/mysql
$ /usr/local/mysql/bin/mysqld start --skip-... (关系二进制日志,只需要SUPER权限登录) $ mysql -uroot -p123456
mysql> source /tmp/load.sql
$ service mysqld stop
$ /usr/local/mysql/bin/mysqld start

Xtrabackup2.4.8备份、还原、恢复Mysql5.7.19实操的更多相关文章

  1. Xtrabackup2.4.8备份、还原、恢复Mysql5.7.19实操(网络拷贝)

    环境:CentOS 6.7  + Mysql 5.7.19 + Xtraback 2.4.8 innobackupex常用参数: --user=USER 指定备份用户,不指定的话为当前系统用户 --p ...

  2. python脚本:在Ubuntu16系统上基于xtrabackup2.4和mysql5.7实现数据库数据的自动化备份和恢复,亲测有效!

    1 安装教程 官网安装教程:https://www.percona.com/doc/percona-xtrabackup/2.4/installation/apt_repo.html -------- ...

  3. MongoDB整库备份与还原以及单个collection备份、恢复方法

    mongodb数据库维护离不开必要的备份.恢复操作,而且一般不会出错,所以我们在使用的时候大部分时候使用备份和恢复操作就可以了   mongodump.exe备份的原理是通过一次查询获取当前服务器快照 ...

  4. centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复

    centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复 有时候我们会碰到这样的业务场景: 1.将大的数据库恢复到本地进行业务测试 ...

  5. (4.10)mysql备份还原——利用binlog+全备恢复误删表【不推荐使用】

    关键误操作:mysql误删除 1.备份+binlog恢复数据 [1.1]场景:不小心误删除某张表 [1.2]解决方法:在另外一台机器,恢复全库+日志,然后导出删除的表,再插入会生产库. [1.3]案例 ...

  6. (4.16)mysql备份还原——物理备份之XtraBackup实践

    关键词:XtraBackup实践,物理备份,xtrabackup备份,innobackupex备份 [1]如何使用? [3]系列:innobackupex --help |more [4]系列:xtr ...

  7. xtrabackup备份还原mariadb数据库

    一.xtrabackup 简介 xtrabackup 是由percona公司开源免费的数据库热备软件,它能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份,对于myisam的备份同样需要 ...

  8. 我的MYSQL学习心得(十四) 备份和恢复

    我的MYSQL学习心得(十四) 备份和恢复 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) ...

  9. 我的MYSQL学习心得 备份和恢复(详细)

    备份 逻辑备份方法 使用MYSQLDUMP命令备份 MYSQLDUMP是MYSQL提供的一个非常有用的数据库备份工具.mysqldump命令执行时将数据库备份成一个文本文件, 该文件中实际上包含了多个 ...

随机推荐

  1. 5种做法实现table表格中的斜线表头效果

    table表格,这个东西大家肯定都不陌生,代码中我们时常都能碰到,那么给table加一个斜线的表头有时是很有必要的,但是到底该怎么实现这种效果呢? 我总结了以下几种方法: 1.最最最简单的做法 直接去 ...

  2. 完美解决某法院HP EVA8400删除VDISK问题

    [故障描述] 某地法院一台HP EVA8400存储,2组扩展柜,物理磁盘由12个1T FATA磁盘(AG691A 454414-001)和10个300G 15K FC磁盘(AG690A 454411- ...

  3. 【bug清除】Surface Pro系列使用Drawboard PDF出现手写偏移、卡顿、延迟现象的解决方式

    最近自己新买的New Surface Pro在使用Drawboard PDF时,出现了性能问题,即笔迹延迟偏移,卡顿的问题. 排查驱动问题之后,确认解决方案如下: 将Surface的电池调到性能模式, ...

  4. 详解k8s一个完整的监控方案(Heapster+Grafana+InfluxDB) - kubernetes

    1.浅析整个监控流程 heapster以k8s内置的cAdvisor作为数据源收集集群信息,并汇总出有价值的性能数据(Metrics):cpu.内存.网络流量等,然后将这些数据输出到外部存储,如Inf ...

  5. 第三章Hibernate关联映射

    第三章Hibernate关联映射 一.关联关系 类与类之间最普通的关系就是关联关系,而且关联是有方向的. 以部门和员工为列,一个部门下有多个员工,而一个员工只能属于一个部门,从员工到部门就是多对一关联 ...

  6. gradle入门(1-1)gradle的概念和使用

    一.Gradle是什么 Gradle是一种Java应用构建工具,它采用领域特定语言 Groovy 语法实现配置. 1.Gradle的基本概念 项目:项目的配置 即 build.gradle. 任务:任 ...

  7. SQL查询语句练习

    最近在学习SQL嘛,所以各个地方找题目来练手,毕竟现在能离得开数据库么? Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C ...

  8. Excel as a Service —— Excel 开发居然可以这么玩

    前言 据不完全统计,全世界使用Excel作为电子表格和数据处理的用户数以十亿计,这不仅得益于它的使用简便,同时还因为它内置了很多强大的函数,结合你的想象力可以编写出各种公式,并可快速根据数据生成图表和 ...

  9. 喜马拉雅音频下载工具 - xmlyfetcher

    xmlyfetcher用于下载喜马拉雅歌曲资源,可以下载单个音频资源,也可以下载整个专辑. 项目地址:https://github.com/smallmuou/xmlyfetcher 安装 安装jsh ...

  10. Tcl与Design Compiler (一)——前言

    已经学习DC的使用有一段时间了,在学习期间,参考了一些书,写了一些总结.我也不把总结藏着掖着了,记录在博客园里面,一方面是记录自己的学习记录,另一方面是分享给大家,希望大家能够得到帮助.参考的书籍有很 ...