使用binlog,实现MySQL数据恢复

mysql的binlog日志,用于记录数据库的增、删、改等修改操做,默认处于关闭状态。使用binlog实现数据恢复的条件为html

一、binlog日志功能已开启mysql

二、若binlog在数据库建立一段时候后开启,则实现恢复数据须要基于binlog开启以后某一时刻的数据备份sql

三、binlog工做在Statement level(默认)模式,隔离级别为 repeatable read 时,采用乐观锁并发插入数据,可能发生死锁数据库

  乐观锁: insert into A并发

      select a, b, c from dual.net

        where exists(select 1 from dual where '...' = (select max(...) from A)) rest

  错误信息:Deadlock found when trying to get lock; try restarting transaction日志

  隔离级别为read committed 时,依然报错:impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logginghtm

  即使查询和插入的数据范围不重合(如不一样客户同时插入数据),依然如此;binlog工做在Mixed模式下不存在该状况,具体缘由待研究blog

 

binlog的使用及数据恢复过程,可参考一下分享:

Mysql误删表中数据与误删表的恢复方法

MySQL Binlog详解

活用mysql的binlog进行数据恢复

相关文章
相关标签/搜索