如何通过Mysql的二进制日志恢复数据库数据
经常有网站管理员因为各种原因和操作,导致网站数据误删,而且又没有做网站备份,结果不知所措,甚至给网站运营和盈利带来负面影响。所以本文我们将和大家一起分享学习下如何通过Mysql的二机制日志(binlog)来恢复数据。
系统环境:
操作系统:CentOS 6.5 X64 (虚拟机);
WEB服务:PHP+Mysql+apache;
网站:为方便,直接在本地用蝉知系统搭建一个DEMO站点;
操作步骤:
1.开启binlog功能及基本操作;
2.往站点添加数据;
3.刷新binlog日志;
4.删除数据;
5.binlog日志内容解析;
6.恢复指定数据;
1.开启binlog功能及基本操作
要使用Mysql的binlog日志功能,首先要在Mysql的配置文件中开启该功能,操作很简单。找到Mysql的配置文件,在文件中添加一行”log_bin = mysql-bin”即可。其实在我安装的各种Mysql环境中,该功能通常都是默认开启的。
开启binlog功能后,在mysql的数据库目录下就会有诸如mysql-bin.000001、mysql-bin.000002等文件,这就是mysql的二进制日志文件。每当mysql启动或手动刷新日志后都会新建一个二进制日志文件。
首先我们mysql命令行中,用”show master logs”命令查看已有的binlog文件。
2.往站点添加数据
在网站后台文章模块里,我添加了几条测试数据。
3.刷新binlog日志
此前mysql的binlog文件为mysql-bin.000001,并且在网站后台往数据库中添加了三篇文章。现在我们刷新binlog日志,会生成新的mysql-bin.000002文件,如下:
flush logs; show master logs;
4.删除数据
这里我把刚才添加的三篇文章都删除掉。
5.binlog日志内容解析
Mysql的二进制日志文件记录的mysql的操作,比如刚才的删除操作,我们来看下日志文件的具体内容。
使用mysql的mysqlbinlog命令:
mysqlbinlog /data/mysql/mysql-bin.
注意:因为我本地mysqlbinlog无法识别binlog配置中的default-character-set=utf8,所以这里我在命令中加上了” –no-defaults”才起作用,大家引以为鉴。
下面是日志内容部分截图:
6.恢复指定数据;
在通过mysql的binlog日志恢复数据时,我们可以指定恢复到具体时间点,这有点像服务器快照管理。所以我们现在要恢复刚才删除的那篇文章,可以从删除之前找一个时间点,并恢复到那个时间点即可。
有关mysqlbinlog命令的使用方法,我们可以通过mysqlbinlog的帮助命令进行查看,如下:
mysqlbinlog –no-defaults –help
如帮助文档所示,可以通过指定时间或指定位置来恢复数据,这里我以指定时间为例给大家演示。
我们来查看下日志文件mysql-bin.000001,如下:
mysqlbinlog -no--defaults /data/mysql/mysql-bin.
通过前面操作步骤我们知道,在删除数据之前,我们生成了mysql-bin.000002日志文件,所以我们只要恢复到这个时间点即可,上图中我已找到了这个时间。
命令如下:
mysqlbinlog –no-defaults –stop-datetime=’-- ::’/data/mysql/mysql-bin. |mysql –uroot –p123456
这时我们在看后台,发现刚才删除的三篇文章都已恢复回来了,从而到达我们期望的目的。
总结:
本文和大家分享了如何通过mysql的二进制日志文件恢复数据。但还是要提醒大家,在平时要做好网站数据备份,现在的一些主流CMS建站系统都会内置数据库备份功能,比如这里我用的蝉知系统,数据是网站的命脉,做好数据备份以避免后期不必要的麻烦或损失。
如何通过Mysql的二进制日志恢复数据库数据的更多相关文章
- MySQL使用二进制日志恢复数据库
一.二进制日志简介 MySQL有不同类型的日志,其中二进制文件记录了所有对数据库的修改,如果数据库因为操作不当或其他原因丢失了数据,可以通过二进制文件恢复. 在my.ini文件中设置了log-bin, ...
- mysql根据二进制日志恢复数据/公司事故实战经验
根据二进制日志恢复 目的:恢复数据,根据二进制日志将数据恢复到今天任意时刻 增量恢复,回滚恢复 如果有备份好的数据,将备份好的数据导入新数据库时,会随着产生二进制日志 先准备一台初始化的数据库 mys ...
- mysql使用二进制日志恢复数据
一.恢复到某个二进制文件 1.开启二进制日志 在mysqld的配置节点下添加如下配置 log-bin="E:/Mysql57BinLog/binlog"(windows下的路径,l ...
- mysql学习------二进制日志管理
MySQL二进制日志(Binary Log) a.它包含的内容及作用如下: 包含了所有更新了数据或者已经潜在更新了数据(比如没有匹配任何行的一个DELETE) 包含关于每个更新数据库( ...
- MySQL的binlog日志恢复(转)
binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日 ...
- mysql数据安全之利用二进制日志mysqlbinlog备份数据
mysql数据安全之利用二进制日志mysqlbinlog备份数据 简介:如何利用二进制日志来备份数据 什么是二进制日志: 二进制日志就是记录着mysql数据库中的一些写入性操作,比如一些增删改,但是, ...
- mysql通过data目录恢复数据库
mysql通过data目录恢复数据库 阅读:次 时间:2010-03-24 06:53:30 字体:[大 中 小] 重装系统后,MySQL服务没有了,但是数据库的文件还在,这个时候我想 ...
- SqlServer 通过日志恢复数据库
前期工作 查看数据属性,确保下条件: 1.数据库属性->选项->恢复模式=完整 2.建好库以后.一个数据库完整的数据备份 3.到出事期间日志没有你间断 4.记录出事的准确时间 一.数据准备 ...
- MYSQL使用二进制日志来恢复数据
mysqlbinlog工具的使用,大家可以看MySQL的帮助手册.里面有详细的用, 在这个例子中,重点是--start-position参数和--stop-position参数的使用. ·--star ...
随机推荐
- Android Http请求头与响应头的学习
本节引言: 上节中我们对Android涉及的网络编程进行了了解,也学习了下Http的基本概念,而本节我们 要学习的是Http的请求头与响应头,当然,可以把也可以把这节看作文档,用到的时候来查查 即可! ...
- TP框架 基础1
php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格 ...
- HTML初学者常用标签及属性
1.HTML5头部结构 [DOCTYPE html] 声明文档类型为HTML5文件. 文档声明在HTML5文档必不可少,且必须放在文档的第一行. [meta标签] 1-charset属性:单独 ...
- WeMall微信商城源码插件大转盘代码详情
WeMall微信商城源码插件大转盘代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考 代码详情地址:http://addon.wemallshop.com/Product/ ...
- 在LaTeX 与 LyX 中设置“Contents”为“目录”
在 LaTeX 中,目录一般被显示为英文"Contents",因此需要设置成"目录". 通常在 Preamble 按照如下方式设置: \renewcommand ...
- 微信企业号接收消息(使用SpringMVC)
微信企业号接收消息(使用SpringMVC) 微信企业号接收消息(使用SpringMVC) 将应用设置在回调模式时,企业可以通过回调URL接收员工回复的消息,以及员工关注.点击菜单.上报地理位置等事件 ...
- Git环境搭建以及上传到GitHub全文记录
1.百度搜索下载git,官网可能很慢,我在百度软件里面下载的.当然可能不是最新版本.一路回车安装就好. 2.设置本机git的用户名和邮箱地址 查看当前电脑是否设置了用户名称 $ git config ...
- okhttp +fastJson 在UI层的回调封装
一直使用OkHttp 经常烦人的地方是回调方法 数据解析后必须通过handler 在主线程做操作 网上找了很多资料 发现有些都是基于Gson做的解析 fastJson 在封装时 泛型传入会有很多不方 ...
- gzip 与 gunzip 语法与示例
gzip 与 gunzip 语法与示例 语法: gunzip -c 被压缩的文件 > 已解压的文件示例: 将 catalina.out.gz 文件解压到 catalina.out 文件中: gu ...
- 在腾讯云上把Laravel整合万向优图图片管理能力,打造高效图片处理服务
推荐理由: 现如今数据爆炸性增长,人类生活产出的数据越来越多,文字信息,图片信息,视频信息:但有很多信息我们都无法直接使用,需通过一定的处理,才能够获取其中对我们有用的信息,在腾讯云上的万向优图能够对 ...