• innobackupex实现对MySQL的增量备份与还原


    备份
    增量备份是基于完整备份的,所以我们需要先做一次完整备份:

    innobackupex --defaults-file=/etc/my.cnf --user root --password chengce243 /data/mysqlbak

    执行完命令后,/data/mysqlbak 目录下会生成目录: 2018-08-06_13-53-57

    第一次增量备份:

    innobackupex --defaults-file=/etc/my.cnf --user root --password chengce243 --incremental /data/mysqlbak --incremental-basedir=/data/mysqlbak/2018-08-06_13-53-57


    注意:第一次备份的--incremental-basedir参数应指向完整备份的时间戳目录。
    执行完命令后,/data/mysqlbak 目录下会生成目录:2018-08-06_13-55-42

    第二次增量备份:

    innobackupex --defaults-file=/etc/my.cnf --user root --password chengce243 --incremental /data/mysqlbak --incremental-basedir=/data/mysqlbak/2018-08-06_13-55-42

    注意:第二次备份的--incremental-basedir参数应指向第一次增量备份的时间戳目录。
    执行完命令后,/data/mysqlbak 目录下会生成目录: 2018-08-06_13-58-47


    还原
    停止MySQL服务并清空数据目录:

    /etc/init.d/mysqld stop
    rm -rf /data/mysql/*


    恢复过程:

    恢复情况一:
    直接恢复完整备份之后的数据。
    直接把全备备份文件( 2018-08-06_13-53-57)目录下的文件复制到 /data/mysql ,然后启动数据库,此时数据库的数据是完整备份之后的数据。

    恢复情况二:
    恢复完整备份+增量备份

    innobackupex --apply-log --redo-only /data/mysqlbak/2018-08-06_13-53-57
    innobackupex --apply-log --redo-only /data/mysqlbak/2018-08-06_13-53-57 --incremental-dir=/data/mysqlbak/2018-08-06_13-55-42
    innobackupex --apply-log /data/mysqlbak/2018-08-06_13-53-57 --incremental-dir=/data/mysqlbak/2018-08-06_13-58-47
    innobackupex --apply-log /data/mysqlbak/2018-08-06_13-53-57


    注意:一定要按照完整备份、第一次增量备份、第二次增量备份的顺序进行整合,在整合最后一次增量备份时不要使用--redo-only参数。

    开始还原:
    由于我的mysql数据目录为 /data/mysql ,所以还原直接 mv 数据文件到 /data/mysql 即可。

    mv /data/mysqlbak/2018-08-06_11-36-02/* /data/mysql/


    修改数据目录的属主和属组并启动MySQL服务:

    chown -R mysql.mysql /data/mysql/
    /etc/init.d/mysqld start

  • 相关阅读:
    2008年8月1日21世纪首次日全食奇观
    7.3午饭记
    简单漂亮的导航栏效果
    浮动居中float:center
    图片垂直居中的CSS技巧
    谷歌Chrome浏览器发布
    满江红.中秋寄远
    寄中秋月下独酌
    春江花月夜
    开始锻炼身体
  • 原文地址:https://www.cnblogs.com/l10n/p/9429969.html
Copyright © 2020-2023  润新知