在人工手动进行一些数据库写操作的时候(比方说数据订正),尤其是一些不可控的批量更新或删除,通常都建议备份后操作.不过不怕万一,就怕一万,有备无患总是好的.在线上或者测试环境误操作导致数据被删除或者更新后,想要恢复,一般有两种方法. 方法一.利用最近的全量备份+增量binlog备份,恢复到误操作之前的状态,但是随着数据量的增大,binlog的增多,恢复起来很费时.方法二.如果binlog的格式为row,那么就可以将binlog解析出来生成反向的原始SQL 以下是利用方法二写的一个python脚本b…
需求:需要给开发提供一个2018年9月30号的数据,按照我们公司正常备份策略来说,直接找到对应时间的备份数据,解压导入即可,恰好这个时间节点的数据没有,只备份到2018年9月25号的,糟糕了吧 咋办呢,咱们利用binlog日志来恢复吧,如果二进制日志都没有,那还恢复啥呢,运维咋当滴 话不多说,进入正题 一.导入数据 我的源数据:baodian_2018-09-25_.tar.bz2               #这一串数字是pos节点位置,等下利用二进制恢复的时候需要用到,时间:9月 25 01…
模拟数据恢复的案例 有些时候脑瓜就会短路,难免会出错 场景:在生产环境中,我们搭建了mysql主从,备份操作都是在从备份数据库上 前提:有最近一天或者最近的全备 或者最近一天相关数据库的备份 最重要的是,二进制日志必须完整 服务器信息 角色 端口 192.168.1.21 mysql主 30136 192.168.1.21 mysql从 30236 接下来,我们模拟下 案例一.update未加where条件,误操作修改数据 全备命令: mysqldump -uroot -p123456  --s…
事件: 在生产库执行update时只添加了STATUS(状态)条件,将所有状态为'E'的数据全部改为了'D' 思路: 操作步骤主要参考自文章:https://blog.csdn.net/weixin_43733154/article/details/104675222 结合原作者文章及实际情况,整理解决思路主要概况为: 1.使用show master status 命令查看当前binlog文件: 2.使用mysqlbinlog命令通过误操作时间及误操作表的条件,导出误操作记录文件: 3.查看导出…
目录 mysql利用binlog进行数据恢复 binlog基本配置和格式 binlog基本配置 查看binlog状态 binlog的三种格式 转换成sql mysql自带的mysqlbinlog 利用binlog2sql 恢复数据的具体操作 另外 mysql利用binlog进行数据恢复 最近线上误操作了一个数据,由于是直接修改的数据库,所有唯一的恢复方式就在mysql的binlog.binlog使用的是ROW模式,即受影响的每条记录都会生成一个sql.同时利用了binlog2sql项目. bin…
mysql 利用binlog增量备份,还原实例 张映 发表于 2010-09-29 分类目录: mysql 标签:binlog, mysql, mysqldump, 增量备份 一,什么是增量备份 增量备份,就是将新增加的数据进行备份.假如你一个数据库,有10G的数据,每天会增加10M的数据,数据库每天都要备份一次,这么多数据是不是都要备份呢?还是只要备份增加的数据呢,很显然,我只要备份增加的数据.这样减少服务器的负担. 二,启用binlog vi my.cnf log-bin=/var/lib/…
MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复 * 主从数据库.用于slave端执行增删改,保持与master同步. 1.开启binary log功能 对于mysql也是支持增量备份,但要打开mysql的bin log功能. 我们修改mysql的配置文件.linux是/etc/my.cnf,windows是mysql的安装目录/my.ini 我们在[mysqld]下面加上log-bin一行代码,如下面.…
a.开启binlog日志:1)编辑打开mysql配置文件/etc/mys.cnf[root@vm-002 ~]# vim /etc/my.cnf在[mysqld] 区块添加 log-bin=mysql-bin 确认是打开状态(mysql-bin 是日志的基本名或前缀名): b. 下面开始进行场景模拟:1)ops库会在每天凌晨4点进行一次完全备份的定时计划任务 这里手动执行下,将ops数据库备份到/opt/backup/ops_$(date +%F).sql.gz文件中:[root@vm-002…
MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复 * 主从数据库.用于slave端执行增删改,保持与master同步. 1.开启binary log功能 需要修改mysql的配置文件,本篇的实验环境是win7,配置文件为mysql安装目录\MySQL Server 5.1下的my.ini,添加一句log_bin = mysql_bin即可      eg:      [mysqld]            …
前言 在最近的工作中,由于自己粗(zuo)心(si)误update操作导致几百行的数据出现错误,在心急如焚的同时(那时候我竟然不知道除了备份之后还有binlog日志恢复)立马查资料学习binlog的恢复,随后立马进行了恢复.虽然可以假装自己没出错(emmmmm......最后还是得承认的!),但下班之后心情不能久久平复,立马打开电脑进行一次实验记录才能对得起自己犯的错误. 注:此次实验是在Wnidows下进行的(网上Linux挺多,但是Windows的甚少,加上本身我的电脑也是Win7就简单做一…