xtrabackup全库还原+binlog日志还原
1、场景
mysql数据库误删某个库、误删表或者误删除数据
如下模拟图:备份策略定为每天凌晨进行全库备份,在B时间点进行了误操作以后,有两种恢复场景,一种是恢复到B时间点误操作前,一种是恢复到C时间点

以下为恢复到B时间点误操作前
需要说明的是,使用xtrabackup进行还原需要关闭数据库,为了避免关闭数据库造成的业务影响,在运维工作中可以提前搭建一个用于还原的备用数据库,在备用数据库中还原到误操作前一个时间点后,再使用mysqldump导出库或者某个表,再导入生产库,这样就避免了数据库关闭造成的全局影响。
2、还原步骤
2.1、查询A时间点这个全备份的位点
可以从xtrabackup的备份文件里面的xtrabackup_binlog_info日志查看

位点为:1931
2.2、模拟删除数据
delete from go_supplier where id=
2.3、找出删除数据的时候前一个位点
可以在CRT里面使用如下命令,同时打开日志记录功能,使用文本编辑器根据关键字搜索,找出执行误操作的命令前一个位点
show binlog events in 'mysql-bin.000003'
如下图,找出了误操作之前的位点为3701

2.4、全备份还原
- 关闭mysql
- 再删掉mysql数据目录下的数据文件,避免出现如下错误提示,然后在my.cnf配置文件加入"datadir =/data/mysql"参数

- 先对备份做一个prepare,再使用命令进行还原
innobackupex --apply-log /data/backup/--08_09--
innobackupex --defaults-file=/usr/local/mysql/my.cnf --copy-back /data/backup/--08_09--/
- 还原成功后还要对mysql数据文件进行权限的修改,切换到mysql数据目录下
chown -R mysql:mysql /data/mysql/*
2.5、启动mysql并使用binlog进行还原
mysqlbinlog --start-position="" --stop-position="" /var/log/mysql/mysql-bin. | mysql -uroot -p
检查数据是否恢复,搞定后使用mysqldump导出,再导入生产库即可。
注:如果还原到C时间点,可以跳过误操作的位点,继续恢复B时间点后的数据
mysqlbinlog --start-position="3851" /var/log/mysql/mysql-bin.000003 | mysql -uroot -p
xtrabackup全库还原+binlog日志还原的更多相关文章
- 使用binlog日志还原数据详解
1)看一下你的mysql服务器有没开启binlog日志(ON为开启,OFF为未开启) show variables like 'log_bin'; 2)找到你的binlog文件在哪 登录 mysql ...
- xtrabackup全量备份+binlog基于时间点恢复
1.通过xtrabackup的备份恢复数据库. 2.找到start-position和binlog名称 cat xtrabackup_info 3.导出mysqlbinlog为sql文件,并确定恢复的 ...
- 脚本备份MySQL数据库和binlog日志
用Mysqldump实现全库备份+binlog的数据还原 首先是为mysql做指定库文件的全库备份 vim mysqlbak.sh #!/bin/bash #定义数据库目录,要能找到mysqldump ...
- MySQL二进制binlog日志说明以及利用binlog日志恢复数据
MySQL的binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全量备份+binlog日志恢复增量数据部分). 一.关于 ...
- load data 方式导入的数据不可以用binlog日志进行恢复,因为binlog里面不产生insert sql语句。
QQ群里面有人问起这个问题: 用load data 导入数据的时候,在binlog文件中记录的不是insert 语句,这样的话,如果用load data 导入数据,当需要恢复数据库的时候 bi ...
- Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份)
原文地址:http://www.tuicool.com/articles/RZRnq2 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对In ...
- mysql-备份和还原(普通还原和binlog还原)
1)备份 mysqldump -uroot -proot share -l -F > /tmp/share.sql 说明:-l 锁表 -F 刷新日志文件(相当于flush logs) 2)还原( ...
- MySQL 採用Xtrabackup对数据库进行全库备份
1,xtrabackup简单介绍 关于数据库备份以及备份工具.參考:http://blog.itpub.net/26230597/viewspace-1460065/,这里来介绍xtrabackup已 ...
- 通过Xtrabackup实现MySQL实例的全库备份与按需单库恢复
在实际的生产环境中,为了管理方便,我们一般是通过 Xtrabackup实现实例的全库备份,即将实例上的所有数据库备份. 但是,考虑到快速恢复 我们常常面临的需求是快速还原单个数据库.针对初学者来说,网 ...
随机推荐
- vba 调用 countif 函数问题
源数据是A1:G18,需求是在K列显示A1:A18中各单元格重复出现的次数.在L列中是用countif函数直接计算的, Private Sub test() Dim rng As Range, i A ...
- vs2017企业版本安装和序列号
离线包大概下载为19G,可以选择的选择项很多,很不错,安装如下: 安装完成 启动效果 SharePoint插件自带了 离线包(19G) Visual Studio 2017(VS2017) 企业版En ...
- es7 class装饰器
文档http://es6.ruanyifeng.com/#docs/decorator ts文档 https://www.tslang.cn/docs/handbook/decorators.html ...
- 在windows下搭建vueJS开发环境
转自:https://www.cnblogs.com/RexSheng/p/6934413.html nodejs官网http://nodejs.cn/下载安装包,无特殊要求可本地傻瓜式安装,这里选择 ...
- C# chart 编程教程
http://www.gcpowertools.com.cn/docs/ComponentOne/WinFormChart/#!Documents/_41.htm
- [No0000103]JavaScript-基础课程3
在 JavaScript 中,函数的参数是比较有意思的,比如,你可以将任意多的参数传递给一个函数,即使这个函数声明时并未制定形式参数 function adPrint(str, len, option ...
- MySQL命令:select查询语句
SQL 中最常用的 SELECT 语句,用来在表中选取数据. 要记得的知识点如下: SELECT 语句格式: SELECT 要查询的列名 FROM 表名字 WHERE 限制条件: WHERE语句后: ...
- ReactNative小笔记
import React, { Component } from 'react'; import { AppRegistry, View } from 'react-native'; export d ...
- ldap,openldap-docker,
ldap basic and usage in devops: https://blog.csdn.net/weixin_42578481/article/details/80863890 maybe ...
- activeMQ配置文件
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agree ...