• mysql备份恢复(二)


    下载地址:https://www.percona.com/downloads/Percona-XtraBackup-2.4/LATEST/

    方法1

    yum localinstall https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.24/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.24-1.el7.x86_64.rpm

     

    方法2

    https://www.percona.com/doc/percona-xtrabackup/2.4/installation/yum_repo.html

    yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
    yum list | grep percona
    yum install percona-xtrabackup-24.x86_64

    [root@zhh73 ~]# xtrabackup -v
    xtrabackup: recognized server arguments: --datadir=/var/lib/mysql --server-id=1 --log_bin=mysql-bin 
    xtrabackup version 2.4.24 based on MySQL server 5.7.35 Linux (x86_64) (revision id: b4ee263)

    备份

    PASS=$(base64 -d <<< QWJjNzc4ODk5IQo=)
    
    innobackupex --user=root --password=$PASS /backup/
    

    恢复

    先模拟故障

    [root@zhh73 lib]# cd /var/lib/
    [root@zhh73 lib]# mv mysql mysql.bk

    恢复数据

    [root@zhh73 ~]# innobackupex --defaults-file=/etc/my.cnf  --copy-back /backup/2021-10-22_00-59-49/

    root@zhh73 ~]# ls /var/lib/mysql
    ib_buffer_pool ibdata1 mysql performance_schema sys tidb_binlog xtrabackup_info zhh

    [root@zhh73 ~]# chown mysql -R /var/lib/mysql
    [root@zhh73 ~]# systemctl restart mysqld

    完整+增量的备份

    完整备份后 新增一些数据

    增量备份 需要指定上一次增量备份的目录

    [root@zhh73 ~]# innobackupex --user=root --password=$PASS --incremental /increnment/  --incremental-basedir=/backup/2021-10-22_00-59-49/

     

     基于增量备份  再创建备份

    新增一些数据

    基于第一次的增量  做增量备份

    [root@zhh73 2021-10-22_01-23-23]# innobackupex --user=root --password=$PASS --incremental /increnment/  --incremental-basedir=/increnment/2021-10-22_01-23-23/

    xtrabackup 把备份过程中可能有尚未提交的事务或已经提交但是未同步数据文件的事务,写到xtrabackup_logfile文件,所以要先通过这个日志文件回滚,把未完成的事务同步到备份文件,保证数据文件处于一致性

    [root@zhh73 2021-10-22_01-36-37]# innobackupex --apply-log  --redo-only /backup/2021-10-22_00-59-49/

    合并第一次增量的备份

    [root@zhh73 2021-10-22_01-36-37]# innobackupex --apply-log --redo-only /backup/2021-10-22_00-59-49/  --incremental-dir=/increnment/2021-10-22_01-23-23/

    检查 完整备份和增量备份的checkpoint

    合并后就可以恢复了

    rm -rf /var/lib/mysql

    innobackupex --defaults-file=/etc/my.cnf --copy-back /backup/2021-10-22_17-33-01/

    chown mysql:mysql -R /var/lib/mysql

    systemctl restart mysqld

     查看数据

    合并第二次增量备份

    [root@zhh73 backup]# innobackupex --apply-log --redo-only /backup/2021-10-22_17-33-01/ --incremental-dir=/increnment/2021-10-22_17-39-44/

    查看checkpoint

    恢复数据

    rm -rf /var/lib/mysql

    innobackupex --defaults-file=/etc/my.cnf --copy-back /backup/2021-10-22_17-33-01/

    chown mysql:mysql -R /var/lib/mysql

    systemctl restart mysqld

    备份文件归档发送到备份服务器

    [root@zhh73 ~]# innobackupex --databases=tidb_binlog --user=root --password=$PASS  --stream=tar /mysql_backup 2>/mysql_backup/bak.log |ssh root@172.18.109.74  "cat - > /mysql_backup/`date +%F`.tar"

    解压

    [root@zhh74 mysql_backup]# tar -ixvf 2021-10-22.tar

    归档备份

    [root@zhh73 mysql_backup]# innobackupex --user=root --password=$PASS --stream=tar /mysql_backup > /mysql_backup/`date +%F`.tar

    压缩归档备份

    [root@zhh73 backup]# innobackupex --user=root --password=$PASS --stream=tar /mysql_backup |gzip >/backup/`date +%F`.tar.gz

    
    
  • 相关阅读:
    [Luogu P4779] 单源最短路径(标准版)
    [Luogu P1659] 拉拉队排练
    [Luogu P3435] OKR-Periods of Words
    [Poj #2127] Greatest Common Increasing Subsequence
    [Poj #2019] Cornfields
    [Poj #1949] Chores
    关于我
    划水记录
    [AGC006C] Rabbit Exercise
    [AGC007C] Pushing Balls
  • 原文地址:https://www.cnblogs.com/xihuxiangri/p/15433989.html
Copyright © 2020-2023  润新知