zoukankan      html  css  js  c++  java
  • 7.5 Point-in-Time (Incremental) Recovery Using the Binary Log 使用binay log 基于时间点恢复

    7.5 Point-in-Time (Incremental) Recovery Using the Binary Log  使用binay log 基于时间点恢复
    
    7.5.1 Point-in-Time Recovery Using Event Times
    7.5.2 Point-in-Time Recovery Using Event Positions
    
    基于时间点恢复指从一个数据改变恢复从一个给定的时间点。
    
    通常情况下, 这个恢复的类型是在恢复一个全备份后执行的,把服务器带到备份时候的状态。
    
    (全备份可以有几种方式) 按时间点恢复让数据库到从全备份的时间点到最近的时间点
    
    
    时间点恢复是基于这些原则:
    
    1.用于基于时间恢复大师增量备份通过binary log 文件产生随后到全备份操作。
    
    因此, server 必须启用--log-bin选项来启动binary log
    
    
    要查看所有的binary log 文件的列表,使用这个语句:
    
     SHOW BINARY LOGS;
    
    
    要确定当前binary log 文件的名字,执行下面的语句:
    
    mysql> SHOW MASTER STATUS;
    
    
    mysqlbinlog 功能转换binary log 文件里的evnets 从binary 格式到文本格式
    
    这样它们可以被执行或者查看。
    
    
    Mysqlbinlog 有选项用于查询binary log的部分基于evnet times或者 event position 
    
    
    从binary log 执行事件 可以让数据修改被重做。
    
    这个可以让数据改变恢复用于给定的时间范围。
    
    从binary log 执行events,处理mysqlbinlog输出适用mysql client
    
    shell> mysqlbinlog binlog_files | mysql -u root -p
    
    
    查看log 内存可以是有用的 当你需要知道event times或者positions 来选择特定的日志内容
    
    shell> mysqlbinlog binlog_files | more
    
    
    如果你有多个binary log 需要执行,安全的方式是使用一个连接来处理它们,下面是一个例子,演示了可能是不安全的
    
    shell> mysqlbinlog binlog.000001 | mysql -u root -p # DANGER!!
    shell> mysqlbinlog binlog.000002 | mysql -u root -p # DANGER!!
    
    
    处理binary logs 用这种方式使用不同的连接到server 会导致问题如果第一个log file 包含一个CREATE TEMPORARY TABLE 
    
    statement 
    
    
    第2个 log 包含一个语句 使用这个临时表。
    
    
    当第一个mysql process 中断,server drop 这个临时表 当第2个mysql 处理尝试使用这个表,server 报告  “unknown table.”
    
    
    为了避免这个问题, 使用一个单独的连接来执行所有的binary logs里的内从
    
    shell> mysqlbinlog binlog.000001 binlog.000002 | mysql -u root -p
    
    
    
    另外一种方法是将所有的日志写入到一个单独的文件,然后处理这个文件:
    
    shell> mysqlbinlog binlog.000001 >  /tmp/statements.sql
    shell> mysqlbinlog binlog.000002 >> /tmp/statements.sql
    shell> mysql -u root -p -e "source /tmp/statements.sql"
    

  • 相关阅读:
    MongoVUE 使用教程
    Mongo
    thinkPHP
    从关系型数据库到非关系型数据库
    boost 文件系统
    boost 随机数发生器
    CString/string 区别及其转化
    boost uuid
    使用命令行解析php文件
    Log4PHP日志库使用
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6199104.html
Copyright © 2011-2022 走看看