• mysql binlog备份


    1、binlog备份
    [mysql@mysql5 binlog]$mysqlbinlog --read-from-remote-server --raw --host=192.168.1.210 --port=65535 --user=yang --password=oracle --stop-never --result-file=/mysqldb/backup/backup_192.168.1.210/binlog/ master-bin.000001
    2、解析binlog
    [mysql@mysql5 binlog]$ mysqlbinlog -v -v -v master-bin.000007 > 07.txt
    [mysql@mysql5 binlog]$ vi 07.txt
    /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
    /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
    DELIMITER /*!*/;
    # at 4
    #180807 11:18:46 server id 6666601 end_log_pos 123 CRC32 0x67606c44 Start: binlog v 4, server v 5.7.23-log created 180807 11:18:46
    BINLOG '
    lg9pWw9puWUAdwAAAHsAAAAAAAQANS43LjIzLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAAACgoKKioAEjQA
    AURsYGc=
    '/*!*/;
    # at 123
    #180807 11:18:46 server id 6666601 end_log_pos 194 CRC32 0xcc8d05b0 Previous-GTIDs
    # 27b983f4-99ed-11e8-ab5d-000c29e42a1f:1-16
    # at 194
    #180807 11:37:34 server id 6666601 end_log_pos 259 CRC32 0x440038b5 GTID last_committed=0 sequence_number=1 rbr_only=no
    SET @@SESSION.GTID_NEXT= '27b983f4-99ed-11e8-ab5d-000c29e42a1f:17'/*!*/;
    ............
    3、binlog恢复
    [mysql@mysql5 binlog]$ mysqlbinlog --start-position=161899 --stop-position=323048 --skip-gtids /mysqldb/db_slave/binlog/slave-bin.000001|mysql -uroot -p -S/mysqldb/db_test01/mysql.sock employees
    实验
    1、导入employees数据库
    2、创建表
    mysql> create table test1 like dept_emp;
    Query OK, 0 rows affected (0.85 sec)
    mysql> alter table test1 drop primary key;
    Query OK, 0 rows affected (0.31 sec)
    Records: 0 Duplicates: 0 Warnings: 0
    mysql> insert into test1 select * from dept_emp limit 10000;
    Query OK, 10000 rows affected (0.16 sec)
    Records: 10000 Duplicates: 0 Warnings: 0
    3、mysqldump备份employees数据库
    [mysql@mysql5 db_slave]$ mysqldump -uroot -p -S/mysqldb/db_slave/mysql.sock --master-data=2 --single-transaction --databases employees --set-gtid-purged=off > testdump.sql
    Enter password:
    4、模拟业务
    mysql> insert into test1 select * from dept_emp limit 10000;
    Query OK, 10000 rows affected (0.50 sec)
    Records: 10000 Duplicates: 0 Warnings: 0
    mysql> delete from test1 limit 1000;
    Query OK, 1000 rows affected (0.30 sec)
    mysql> create table test2 like dept_emp;
    Query OK, 0 rows affected (0.27 sec)
    5、发现问题进行回滚
    MASTER_LOG_POS=161899
    at 323048
    [mysql@mysql5 binlog]$ mysqlbinlog -v -v -v slave-bin.000001 > 1.txt
    [mysql@mysql5 binlog]$ vi 1.txt
    [mysql@mysql5 db_slave]$ vi testdump.sql
    mysql> source /mysqldb/db_slave/testdump.sql #空实例中#
    [mysql@mysql5 binlog]$ mysqlbinlog --start-position=161899 --stop-position=323048 --skip-gtids /mysqldb/db_slave/binlog/slave-bin.000001|mysql -uroot -p -S/mysqldb/db_test01/mysql.sock employees
    5、结果
    6、导入删除数据
    [mysql@mysql5 ~]$ mysqldump -uroot -p -S /mysqldb/db_test01/mysql.sock employees test1 --where="1=1 limit 1000;" --set-gtid-purged=OFF > test3.sql
    Enter password:
    [mysql@mysql5 ~]$ vi test3.sql
    [mysql@mysql5 ~]$ mysql -uroot -p -S /mysqldb/db_slave/mysql.sock --database=employees --table=test1 < test3.sql
    mysql: [Warning] mysql: ignoring option '--table' due to invalid value 'test1'
    Enter password:
  • 相关阅读:
    OpenCV 机器学习之 支持向量机的使用方法实例
    Lua中调用C函数(lua-5.2.3)
    我的Hook学习笔记
    几种开源分词工具的比較
    利用JasperReport+iReport进行Web报表开发
    移动前端开发者必知必会:移动设备概述
    图表插件--jqplot交互演示样例
    算法之二叉树各种遍历
    repo的小结
    sqlite3经常使用命令&amp;语法
  • 原文地址:https://www.cnblogs.com/Knight7971/p/9634792.html
Copyright © 2020-2023  润新知