• 7.5.2 Point-in-Time Recovery Using Event Positions


    7.5.2 Point-in-Time Recovery Using Event Positions 使用Event Positions来基于时间的恢复

    代替特定的日期和时间,mysqlbinlog 的–start-position and –stop-position 选

    能被用于特定的log positions.它们工作和start和stop date选项类似,

    除了制定log position 号而不是日期。 使用positions 可以让你更精确的关于日志部分的恢复,

    尤其是如果很多的事务发生在相同的时间 比如破坏性得到SQL语句,

    确定 position numbers, 在一段时间范围内(不需要的事务被执行)运行mysqlbinlog,

    重定向结果到一个文本文件,可以这么做:

    shell> mysqlbinlog –start-datetime=”2005-04-20 9:55:00”
    –stop-datetime=”2005-04-20 10:05:00”
    /var/log/mysql/bin.123456 > /tmp/mysql_restore.sql

    这个命令创建一个小的文本文件 在/tmp目录下, 包含了SQL语句,在有害的SQL语句执行的范围附近。

    用文本文件打开,寻找你不想要重复的语句。切丁binary log 中的positiosn 用于stopping

    然后继续恢复和记录它们 的Posistions,恢复先前的备份后:
    shell> mysqlbinlog –stop-position=368312 /var/log/mysql/bin.123456
    | mysql -u root -p

    shell> mysqlbinlog –start-position=368315 /var/log/mysql/bin.123456
    | mysql -u root -p

    第一个命令恢复所有的事务到指定的stop position,第2条命令恢复所有的事务从给定的 starting position

    到binary log的结尾。因为 mysqlbinlog 的输出 包含了SET TIMESTAMP 语句在每个记录的SQL语句前,

    恢复的数据和相关的MySQL logs会影响原始的时间,之前事务执行的时间。

    SET TIMESTAMP=1438179219/!/;
    UPDATE QRTZ_SCHEDULER_STATE SET LAST_CHECKIN_TIME = 1438179219567 WHERE SCHED_NAME =

    ‘ReportControlScheduler’ AND INSTANCE_NAME = ‘auto’

  • 相关阅读:
    js 冒泡排序 与非冒泡排序
    js Base64加密与解密
    复杂的时间调度器
    js计算阶乘与斐波切纳数列
    js按需加载兼容性写法
    关于JavaScript的宏任务与微任务
    caller与callee的区别
    如何实现一个parseInt
    nodejs 保存 payload 发送过来的文件
    angularjs:[1] ui-router 权限控制
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351503.html
Copyright © 2020-2023  润新知