zoukankan      html  css  js  c++  java
  • 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

    
    
  • 相关阅读:
    深入浅出JSONP--解决ajax跨域问题
    Apache与Tomcat的区别
    项目终于接近尾声了
    交互设计[小插曲]--网站UI配色
    使用 Jasmine 进行测试驱动的 JavaScript 开发
    javascript单元测试
    MySQL查询当前数据库中所有记录不为空的表
    cannot be resolved to a type的错误
    oracle 表空数据导出dmp ,空表导出失败
    Iterable<E> Iterator<E>
  • 原文地址:https://www.cnblogs.com/xihuxiangri/p/15433989.html
Copyright © 2011-2022 走看看