博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL利用binlog增量恢复数据库
阅读量:2337 次
发布时间:2019-05-10

本文共 834 字,大约阅读时间需要 2 分钟。

数据库中表被误删除 恢复方法

首先分析表是否重要
1 重要的情况处理
1 停服务,挂维护页面,保证数据一致性
2 找一个新的数据库做恢复测试,同时对故障库进行备份
3 恢复前日备份,恢复完毕后 拷贝 binlog过来
4 查找binlog位置,获取故障前一刻binlog位置 追binlog
5 启动测试
6 对外启动服务

要确保我们有之前的备份,要已经了开启binlog日志

查看当前使用的binlog日志
show master status;
在这里插入图片描述

先手动切割出一份binlog让所有数据写到新的binlog上面

mysqladmin -uroot -p flush-log

拷贝离问题点最近的binlog日志

cp /application/mysql/data/mysql.00000x /tmp/

查看position号,

全备的时候加了master-data=2 在备份中会有POS号,表示这次备份到这个POS号结束
在这里插入图片描述

把binlog二进制文件导出成SQL语句,把错误语句排除

从备份文件中找到最后POS号,在binlog备份时,从此POS号开始
mysqlbinlog --skip-gtids --start-position=194–stop-position=1519 -d he /data/binlog/mysql-bin.000006 >/backup/bin.sql
-d 只导出指定库的SQL语句
如果开启了GTID 则必须要加上–skip-gtids参数
找出并删除错误语句
mysqlbinlog --skip-gtids -d he /data/binlog/mysql-bin.000006 >/backup/bin.sql
vim bin.sql
把出问题的sql语句删除掉

恢复最近一次备份

mysql -uroot -p he < /tmp/all_bak.sql

把修改好的数据导入

mysql>source bin.sql

转载地址:http://yurpb.baihongyu.com/

你可能感兴趣的文章
75. Sort Colors
查看>>
获取数组中前K小的数字
查看>>
数组heapify变为堆结构
查看>>
二叉树的非递归遍历
查看>>
218. The Skyline Problem
查看>>
Java PAT (Basic Level) Practice 写出这个数
查看>>
Python PAT (Basic Level) Practice 1016 部分A+B
查看>>
Python PAT (Basic Level) Practice 1006 换个格式输出整数
查看>>
Python PAT (Basic Level) Practice 1009 说反话
查看>>
Python PAT (Basic Level) Practice 1011 A+B 和 C
查看>>
Python PAT (Basic Level) Practice 1017 A除以B
查看>>
Python PAT (Basic Level) Practice 1042 字符统计
查看>>
spring dubbo 2.7.3 zookeeper 项目构建
查看>>
spring dubbo 报错
查看>>
如何在非 bean 对象中注入 dubbo service
查看>>
前后端分离 ajax java跨域配置 spring boot 、 spring security
查看>>
java spring boot 拦截所有请求 显示请求路径 方法 ip 等
查看>>
java spring boot jackson 配置 null字符串为"" null数组为[]
查看>>
java redistemplate 配置序列化
查看>>
ArcEngine中加载和读取Style文件或.serverstyle文件
查看>>