zoukankan      html  css  js  c++  java
  • 备份及恢复 工具

    备份工具
    mysqldump:
    mysqldump -uroot -p -A -R -E --triggers >/data/backup/full.sql

    mysqldump -uroot -p123 -A -R --triggers --set-gtid-purged=OFF --master-data=2 --single-transaction|gzip > /backup/full_$(date +%F).sql.gz

    参数:

    -A    全备
    -B    备个别库/多个库
    -R            备份存储过程及函数
    --triggers  备份触发器
    -E             备份事件
    -F 在备份开始时,刷新一个新binlog日志
     
    innobackupex:
    全备:
    innobackupex  --defaults-file=/etc/my.cnf  --user=root  --password='123'  --socket=/tmp/mysql.sock  --no-timestamp  /data/backup/xtrabackup

    增量:

    (1)删掉原来备份
    略.
    (2)全备(周日)
    [root@db01 backup]# innobackupex  --defaults-file=/etc/my.cnf  --user=root  --password='123'  --socket=/tmp/mysql.sock  --no-timestamp  /data/backup/full >&/tmp/xbk_full.log
    (3)模拟周一数据变化
    db01 [(none)]>create database cs charset utf8;
    db01 [(none)]>use cs
    db01 [cs]>create table t1 (id int);
    db01 [cs]>insert into t1 values(1),(2),(3);
    db01 [cs]>commit;
    
    (4)第一次增量备份(周一)
    innobackupex --defaults-file=/etc/my.cnf  --user=root  --password='123'  --socket=/tmp/mysql.sock --no-timestamp --incremental --incremental-basedir=/backup/full  /backup/inc1 &>/tmp/inc1.log
    (5)模拟周二数据
    db01 [cs]>create table t2 (id int);
    db01 [cs]>insert into t2 values(1),(2),(3);
    db01 [cs]>commit;
    (6)周二增量
     innobackupex --defaults-file=/etc/my.cnf  --user=root  --password='123' --socket=/tmp/mysql.sock --no-timestamp --incremental --incremental-basedir=/backup/inc1  /backup/inc2  &>/tmp/inc2.log
    (7)模拟周三数据变化
    db01 [cs]>create table t3 (id int);
    db01 [cs]>insert into t3 values(1),(2),(3);
    db01 [cs]>commit;
    db01 [cs]>drop database cs;

    恢复过程:

    1. 检查备份
    1afe8136-601d-11e9-9022-000c2928f5dd:7-9
    2. 备份整理(apply-log)+合并备份(full+inc1+inc2)
    (1) 全备的整理
    [root@db01 one]# innobackupex --apply-log --redo-only /data/backup/full
    (2) 合并inc1到full中
    [root@db01 one]# innobackupex --apply-log --redo-only --incremental-dir=/data/backup/inc1 /data/backup/full
    (3) 合并inc2到full中
    [root@db01 one]# innobackupex --apply-log  --incremental-dir=/data/backup/inc2 /data/backup/full
    (4) 最后一次整理全备
    [root@db01 backup]#  innobackupex --apply-log  /data/backup/full
    3. 截取周二 23:00 到drop 之前的 binlog 
    [root@db01 inc2]# mysqlbinlog --skip-gtids --include-gtids='1afe8136-601d-11e9-9022-000c2928f5dd:7-9' /data/binlog/mysql-bin.000009 >/data/backup/binlog.sql
    4. 进行恢复
    [root@db01 backup]# mkdir /data/mysql/data2 -p
    [root@db01 full]# cp -a * /data/mysql/data2
    [root@db01 backup]# chown -R mysql.  /data/*
    [root@db01 backup]# systemctl stop mysqld
    vim /etc/my.cnf
    datadir=/data/mysql/data2
    systemctl start mysqld
    
    Master [(none)]>set sql_log_bin=0;
    Master [(none)]>source /data/backup/binlog.sql

    恢复工具:

    mysql> source /data/backup/full.sql

    查看二进制日志:

    更多二进制日志相关信息请查阅:https://www.jianshu.com/p/00c54d2832ed

    show master status;
    show variables like 'log_error';
    show binlog events in 'mysql-bin.000003';
    二进制日志截取:需查看起点/终点

    -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.0000xx', MASTER_LOG_POS=xxx;
    mysqlbinlog --skip-gtids --include-gtids='3ca79ab5-3e4d-11e9-a709-000c293b577e:6-7' /data/binlog/mysql-bin.0000xx >/backup/bin.sql

  • 相关阅读:
    A1052. Linked List Sorting (25)
    A1032. Sharing (25)
    A1022. Digital Library (30)
    A1071. Speech Patterns (25)
    A1054. The Dominant Color (20)
    A1060. Are They Equal (25)
    A1063. Set Similarity (25)
    电子码表
    矩阵键盘
    对象追踪、临时对象追踪、绝对坐标与相对坐标
  • 原文地址:https://www.cnblogs.com/fengyuanfei/p/14498359.html
Copyright © 2011-2022 走看看