1.根据binlog解析出所有ring数据库的所有sql
[mysql@localhost ]$ mysqlbinlog --no-defaults --database=ring --start-datetime="2005-04-20 9:55:00" --stop-datetim="2009-04-08 08:05:00" /u01/mysql/log/mysql-bin.000005 > /u01/mysql/log/mysql_restore5.sql
 
[mysql@localhost ]$ ls -l /u01/mysql/log/mysql_restore5.sql
-rw-r--r--    1 mysql    dba           407 Apr  8 15:33 /u01/mysql/log/mysql_restore5.sql
 
--start-datetime=datetime 从哪个点开始解析
--stop-datetim=datetime   从哪个点停止解析
--database=ring               指定需要解析哪个数据库,只提取某个数据库的sql语句
--如果有多个binlog的话需要解析多次,需要解析所有的binlog
 
2.重新在数据库中执行
[mysql@localhost ]$ mysql -u root  < /u01/mysql/log/mysql_restore5.sql
ERROR 1062 (23000) at line 2559580: Duplicate entry 175754263-140 for key 1 --恢复过程中出现主键冲突,导入失败
 
3.删除已经恢复的数据,重新恢复一遍
[mysql@localhost ]$ mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 7647
Server version: 5.0.67-log Source distribution
Type help; or h for help. Type c to clear the buffer.
 
root@(none) 02:55:41>drop database ring;
Query OK, 8 rows affected (0.04 sec)
 
[mysql@localhost ]$ mysql -u root -f  < /u01/mysql/log/mysql_restore5.sql   -f参数:忽略错误继续
ERROR 1062 (23000) at line 2559580: Duplicate entry 175754263-140 for key 1
ERROR 1062 (23000) at line 2564671: Duplicate entry 138 for key 1
ERROR 1062 (23000) at line 2566216: Duplicate entry 139 for key 1
ERROR 1062 (23000) at line 2566224: Duplicate entry 140 for key 1
ERROR 1062 (23000) at line 2566232: Duplicate entry 141 for key 1
ERROR 1062 (23000) at line 2566240: Duplicate entry 142 for key 1
ERROR 1062 (23000) at line 2648410: Duplicate entry 143 for key 1
ERROR 1062 (23000) at line 2648418: Duplicate entry 144 for key 1
ERROR 1062 (23000) at line 2648581: Duplicate entry 145 for key 1
ERROR 1062 (23000) at line 2648589: Duplicate entry 146 for key 1
ERROR 1062 (23000) at line 2648597: Duplicate entry 147 for key 1
ERROR 1062 (23000) at line 2648605: Duplicate entry 148 for key 1
ERROR 1062 (23000) at line 2649279: Duplicate entry 149 for key 1
ERROR 1062 (23000) at line 2649287: Duplicate entry 150 for key 1
ERROR 1062 (23000) at line 2649295: Duplicate entry 151 for key 1
ERROR 1062 (23000) at line 2649303: Duplicate entry 152 for key 1
ERROR 1062 (23000) at line 2649311: Duplicate entry 153 for key 1
ERROR 1062 (23000) at line 2649319: Duplicate entry 154 for key 1
ERROR 1062 (23000) at line 2649327: Duplicate entry 155 for key 1
ERROR 1062 (23000) at line 2649335: Duplicate entry 156 for key 1 
 
恢复成功,有部分数据冲突需要开发自己去处理了。

MySQL利用binlog来恢复数据库的更多相关文章

  1. Mysql利用binlog日志恢复数据操作(转)

    a.开启binlog日志:1)编辑打开mysql配置文件/etc/mys.cnf[root@vm-002 ~]# vim /etc/my.cnf在[mysqld] 区块添加 log-bin=mysql ...

  2. 解说mysql之binlog日志以及利用binlog日志恢复数据

    众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废 ...

  3. Mysql之binlog日志说明及利用binlog日志恢复数据操作记录

    众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 一 ...

  4. 【转】Mysql之binlog日志说明及利用binlog日志恢复数据操作记录

    众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废 ...

  5. mysql利用binlog恢复数据详细例子

    模拟数据恢复的案例 有些时候脑瓜就会短路,难免会出错 场景:在生产环境中,我们搭建了mysql主从,备份操作都是在从备份数据库上 前提:有最近一天或者最近的全备 或者最近一天相关数据库的备份 最重要的 ...

  6. MySQL二进制binlog日志说明以及利用binlog日志恢复数据

    MySQL的binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全量备份+binlog日志恢复增量数据部分). 一.关于 ...

  7. mysql利用binlog进行数据恢复

    目录 mysql利用binlog进行数据恢复 binlog基本配置和格式 binlog基本配置 查看binlog状态 binlog的三种格式 转换成sql mysql自带的mysqlbinlog 利用 ...

  8. mysql 利用binlog增量备份,还原实例

    mysql 利用binlog增量备份,还原实例 张映 发表于 2010-09-29 分类目录: mysql 标签:binlog, mysql, mysqldump, 增量备份 一,什么是增量备份 增量 ...

  9. 如何通过Mysql的二进制日志恢复数据库数据

    经常有网站管理员因为各种原因和操作,导致网站数据误删,而且又没有做网站备份,结果不知所措,甚至给网站运营和盈利带来负面影响.所以本文我们将和大家一起分享学习下如何通过Mysql的二机制日志(binlo ...

随机推荐

  1. android 模拟微信消息 OnItemClickListener()方法 [3]

    在 http://www.cnblogs.com/Seven-cjy/p/6101555.html 是基础上修改 MainActivity.java /winxinmff/src/com/exampl ...

  2. SpEL快速入门

    Spring表达式语言(简称SpEL)是一种鱼JSP2 EL功能类似的变道时语言,它可以在运行时查询和操作对象图.与JSP 2的EL相比,SpEL功能更加强大,它甚至支持方法的调用和基本字符串模板. ...

  3. OpenWrt+nginx+php安装discuz

    下面这个图片是本次的硬件资源:一个无线路由器的开发板,一个8G的u盘,一条手机的数据线(可以作为串口和供电使用),一条网线,一个USB Hub. <ignore_js_op>        ...

  4. bzoj3575[Hnoi2014]道路堵塞

    http://www.lydsy.com/JudgeOnline/problem.php?id=3575 总赶脚第二题总是比第三题难...... 好吧,这题一点思路都没有 听说用民科可以过掉大部分数据 ...

  5. LU分解(1)

    1/6 LU 分解          LU 分解可以写成A = LU,这里的L代表下三角矩阵,U代表上三角矩阵.对应的matlab代码如下: function[L, U] =zlu(A) % ZLU ...

  6. 【翻译】Organizing ASP.NET MVC solutions 如何组织你的ASP.NET MVC解决方案

    序言 时隔一年,弦哥重出江湖,对于我们学习.NET MVC那将有大大的好处,期待弦哥的重构系列.在弦哥与jerrychou的交流中提到了一篇文章http://lostechies.com/jimmyb ...

  7. HDU_1429——胜利大逃亡续,十位二进制状态压缩,状态判重

    Problem Description Ignatius再次被魔王抓走了(搞不懂他咋这么讨魔王喜欢)……这次魔王汲取了上次的教训,把Ignatius关在一个n*m的地牢里,并在地牢的某些地方安装了带锁 ...

  8. I - Agri-Net - poj 1258

    貌似就是个裸的最小生成树啊 ******************************************************************************* #inclu ...

  9. iOS speex

    1. http://www.cocoachina.com/bbs/read.php?tid=114755 2, http://blog.csdn.net/jiangyiaxiu/article/det ...

  10. 自然语言.例如:求n!。

    (1).定义3个变量i.n及mul,并为i和mul均赋初值为1. (2).从键盘中输入一个数赋给n. (3).将mul乘以i的结果赋给mul. (4)i的值加1,判断i的值是否大于n.如果大于n,则执 ...