• 延时从库应用之误删恢复


    1主1从,从库延时5分钟,主库误删除1个库

    故障恢复思路:
    1. 5分钟之内 侦测到误删除操作
    2. 停从库SQL线程
    3. 截取relaylog
    起点 :停止SQL线程时,relay最后应用位置
    终点:误删除之前的position(GTID)
    4. 恢复截取的日志到从库
    5. 从库身份解除,替代主库工作
    

    2.故障模拟及恢复

    # 1.主库数据操作
    create database relay charset utf8;
    use relay
    create table t1 (id int);
    insert into t1 values(1);
    drop database relay;
    # 2.从库操作(停止从库SQL线程)
    stop slave sql_thread;
    # 3.从库操作(找relaylog的截取起点和终点)
    # 起点:
    cd /usr/local/mysql/data/
    cat relay-log.info
    ./db01-relay-bin.000002
    482
    # 或者 show slave statusG
    Relay_Log_File: db01-relay-bin.000002
    Relay_Log_Pos: 482
    
    # 终点:
    show relaylog events in 'db01-relay-bin.000002'
    | db01-relay-bin.000002 | 1046 | Xid            |         7 |        2489 | COMMIT /* xid=144 */                  |
    | db01-relay-bin.000002 | 1077 | Anonymous_Gtid |         7 |        2554 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'  |
    mysqlbinlog --start-position=482 --stop-position=1077  /data/3308/data/db01-relay-bin.000002>/tmp/relay.sql
    # 4.从库身份解除
    stop slave;
    reset slave all;
    # 5.从库恢复relaylog
    set sql_log_bin=0; 数据库上执行的语句都不记录到binlog
    source /tmp/relay.sql
    
  • 相关阅读:
    java异常处理
    java基础知识和面试
    mysql 坐标查询计算距离
    TypeScript设计模式之工厂
    TypeScript设计模式之单例、建造者、原型
    从C#到TypeScript
    从C#到TypeScript
    【译】Nodejs最好的ORM
    【开源】NodeJS仿WebApi路由
    从C#到TypeScript
  • 原文地址:https://www.cnblogs.com/Applogize/p/13381435.html
Copyright © 2020-2023  润新知