mysql中更新误操作,利用binlog日志,模拟甲骨文闪回功能。

  前提:binlog模式为行,隔离模式为读取提交
  对于更新误操作,可以模拟oralce的闪回功能,利用binlog日志,具体操作如下:
  mysql>select * from test1;
  + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - +
  |部门| name ,,工资| |
  + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - +
  | it ,高朋网| |,,,100 |
  | it ,| yhb ,,,|,,,100 |
  | it ,| dzy ,,,|,,,100 |
  | uu ,| yl ,,,,|,,,100 |
  | uu ,| yl1 ,,,|,,,200 |
  | uu ,| yl3 ,,,|,,,300 |
  + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - +
  6行集(0.05秒)
  mysql>更新test1集名称='测试';
  查询好,6行影响(0.06秒)
  行匹配:6,改变:6,警告:0
  mysql>select * from test1;
  + - - - - - - - - - - - - - - - - - - - - - - + +
  工资|部门名称| | |
  + - - - - - - - - - - - - - - - - - - - - - - + +
  | it ,| |测试,,,100 |
  | it ,| |测试,,,100 |
  | it ,| |测试,,,100 |
  | uu ,| |测试,,,100 |
  | uu ,| |测试,,,200 |
  | uu ,| |测试,,,300 |
  + - - - - - - - - - - - - - - - - - - - - - - + +
  6行集(0.00秒)
  mysql>退出
  (root@localhost数据)# mysqlbinlog——已base64-output=decode-rows - v - v db-bin。15“测试”| 000016 | grep - b more 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  这就是我们需要的日志,捞取这部分数据
  (root@localhost数据)# mysqlbinlog——已base64-output=DECODE-ROWS - v - v db-bin。000016 | sed - n/# 510/,/提交/p”祝辞/根/1。txt
  
  捞取之后的文件如下:
  猫(root@localhost ~) # 1。txt
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  (root@localhost ~) #
  
  
  现在开始对捞取的这部分数据进行转换,转换成能执行的sql格式。其中会用到大量的sed命令,sed本人也不精通,我会解释每个sed执行后达到的目的,具体关于sed命令参数等,请另行参考。
  
  
  (root@localhost ~) #
  猫# 9。sql
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  (root@localhost ~) #
  (root@localhost ~) #
  
  
  对sed的各个命令逐步解释:
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

mysql中更新误操作,利用binlog日志,模拟甲骨文闪回功能。