• 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:
  • 相关阅读:
    day09-文件的操作
    day08-字符编码
    day07补充-数据类型总结及拷贝
    day07-列表类型/元组类型/字典类型/集合类型内置方法
    auth-booster配置和使用(yii1.5)
    yii中常用路径
    yii中 columnszii.widgets.grid.CGridView
    yii框架widget和注册asset的例子
    yii后台模板标签
    yii中获取当前模块,控制器,方法
  • 原文地址:https://www.cnblogs.com/Knight7971/p/9634792.html
Copyright © 2020-2023  润新知