环境: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. Flask 学习 六 大型程序结构

    pip freeze >requirement.txt 自动生成版本号 pip install -r requirement.txt 自动下载对应的库 梳理结构 config.py #!/usr ...

  2. 山西某公司NetApp存储不小心删除文件数据恢复成功案例

    故障情况简介: 需要进行数据恢复的设备是一台NetApp存储,共有24块磁盘组成.由于管理员删除文件夹,且时间比较久,删除有几个月时间. 可恢复性判断:由于NetApp中的文件系统的特性,WAFL是& ...

  3. SpringMVC之HandlerMapping的使用

    上篇博客在了解SpringMVC的工作流程时留了一些疑问,今天先学习下HandlerMapping,在HandlerMapping中可以通过HandlerExecutionChain getHandl ...

  4. vue项目中的常见问题

    总结了几个vue项目开发过程中遇到的常见问题,希望大家注意. 注:文末有福利! 一.样式问题 1.vue中使用less 安装less依赖 npm install less less-loader -- ...

  5. iot会议纪要 20180105

    1.需求概述设备 <-->物接入 <--> 云端认证授权协议解析主题 端点endpoint(地址)->设备thing(用户)->身份principal(密码)-&g ...

  6. maven常见问题处理(3-4)配置代理服务器

    有的公司基于安全因素考虑,要求员工使用通过安全认证的代理访问因特网. 这时就需要为Maven配置HTTP代理. 在目录~/.m2/setting.xml文件中编辑如下(如果没有该文件,则复制$M2_H ...

  7. Downloader Middleware

    downloader middleware作用:改写请求,如加入代理,加入头部等:处理异常等. # downloadMiddleware举例, 加代理 # 这里的类如果已经重新设置名称,记得在sett ...

  8. 【微信小程序】对微信http请求API的封装,方便对错误码进行处理

    /**   * App 微信配置文件app.js   * author: nujey   * versions: 1.0.0   */   App({   /**   * @param {Object ...

  9. Vue练手项目(包含typescript版本)

    本项目的git仓库https://github.com/lznism/xiachufang-vue 对应的使用typescript实现的版本地址https://github.com/lznism/xi ...

  10. [LeetCode] Minimum Window Subsequence 最小窗口序列

    Given strings S and T, find the minimum (contiguous) substring W of S, so that T is a subsequence of ...