mysql通过日志恢复数据库】的更多相关文章

案例:http://www.linuxidc.com/Linux/2012-11/74005.htm http://blog.csdn.net/ssrc0604hx/article/details/18717983 原理:假如你现在不小心删除了一张表需要恢复.你就把一个月前备份的数据库拿出来,然后把这一个月的二进制日志里对这个数据库这张表进行的操作提出来.对备份的数据库进行同样的操作,得出来的表就和你删除的表一摸一样了. 1.提炼日志:可以用mysqlbinlog根据时间和位置进行提炼成sql文…
前期工作 查看数据属性,确保下条件: 1.数据库属性->选项->恢复模式=完整 2.建好库以后.一个数据库完整的数据备份 3.到出事期间日志没有你间断 4.记录出事的准确时间 一.数据准备 USE [Test] GO ) ) ) ) ) GO Update [dbo].[Person] set Sex='不详' where name='关羽' where name='张燕燕' --查看数据属性,确保下条件 /* 数据库属性->选项->恢复模式=完整 备份一个数据库 backup d…
一.二进制日志简介 MySQL有不同类型的日志,其中二进制文件记录了所有对数据库的修改,如果数据库因为操作不当或其他原因丢失了数据,可以通过二进制文件恢复. 在my.ini文件中设置了log-bin,重新启动MySQL后就开启了二进制日志.数据库每次重新启动(或执行flush logs命令)后,都会生成一个新的二进制日志,如在在my.ini文件中设置了 log-bin=F:\mysqllog\logbin 则数据库第一次启动会生成logbin.000001,第二次启动会生成logbin.0000…
经常有网站管理员因为各种原因和操作,导致网站数据误删,而且又没有做网站备份,结果不知所措,甚至给网站运营和盈利带来负面影响.所以本文我们将和大家一起分享学习下如何通过Mysql的二机制日志(binlog)来恢复数据. 系统环境: 操作系统:CentOS 6.5 X64  (虚拟机): WEB服务:PHP+Mysql+apache: 网站:为方便,直接在本地用蝉知系统搭建一个DEMO站点: 操作步骤: 1.开启binlog功能及基本操作: 2.往站点添加数据: 3.刷新binlog日志: 4.删除…
如果还原存档的重做日志文件和数据文件,则必须先执行介质恢复,然后才能打开数据库.归档重做日志文件中未反映在数据文件中的任何数据库事务都将应用于数据文件,从而在打开数据库之前将它们置于事务一致状态. 介质恢复需要控制文件,数据文件(通常从备份恢复)以及包含自备份数据文件以来的更改的联机和归档重做日志文件.介质恢复通常用于从介质故障中恢复,例如丢失文件或磁盘,或用户错误,例如删除表的内容. 媒体恢复可以是完全恢复或时间点恢复.完全恢复可以应用于单个数据文件,表空间或整个数据库.时间点恢复适用于整个数…
查看指定的二进制日志中的事件(MYSQL命令行) mysql> show binlog events in 'binlogfullpath'; 查看二进制日志中的事件(MYSQL命令行) mysql> show binlog events; 查看服务器上的二进制日志(MYSQL命令行) mysql> show binary logs; 重新开始一个新的日志文件 mysql> flush logs; ==========================================…
binlog日志用于记录所有更新了数据或者已经潜在更新了数据的所有语句.语句以“事件”的形式保存,它描述数据更改.当我们因为某种原因导致数据库出现故障时,就可以利用binlog日志来挽回(前提是已经配置好了binlog),接下来我们来配置 一.开启mysql-binlog日志 在mysql配置文件my.cnf加上如下配置 [mysqld] log-bin=mysql-bin 重启mysql service mysqld restart 二.备份数据库 1)先查看一下当前数据库情况 mysql>…
1.binlog日志类型 Statement 只记录执行的sql语句,磁盘占用少,但是恢复的时候容易出问题.InodeDB不能使用Statement . Row 记录修改后的具体数据,磁盘占用较多 Mixed 上面两种混合,mysqlsql根据具体情形,选择较好的方案 查看当前的类型: show variables like 'binlog_format' /etc/my.cnf 里面的binlog_format参数 2. 恢复方式 全备+恢复部分binlog日志 3.恢复方法 1. 全备 my…
对于Mysql,每一步操作都会有相应记录,如insert,update,delete ,drop ,alter等相关DDL或DML操作.有时难免会出错,但在出错时如何恢复以复原数据. 例如,现在有这些数据: 但被我truncate了.需要紧急恢复. 首先,确保开启了binLog输出 然后,找到当前日志文件,使用show master status 如: 之后,拷出日志文件, 可以使用:show binlog events in 'binLog.000001',查看相半区间,也可以使用BinLog…
1.先建一个与你要恢复的数据库名称一样的数据库.2.停止sql server,把你的数据库替换这个数据库.3.重启sql server,把数据库设置为紧急状态.  sp_configure 'allow',1  reconfigure with overirde  update sysdatabases set status=32768 where name='yourdata'4.重建日志文件.  dbcc rebuild_log('yourdata','your data path\newd…