• MySQL-备份恢复(四)


    备份策略:一周一全量,一天一增量(mysqldump备份,使用-F实现日志切割)

    mysqldump全量备份:

    mysqldump -uroot -pXXX -S /XXX/mysql.sock -F -A  |gzip >/server/backup/mysqlbak_$(date+%F).sql.gz

    全量备份不携带GTID数据导出

    #mysqldump -uroot -p   --set-gtid-purged=OFF  -A -F --master-data=2  > /tmp/no-gtid-all-db-flush-log.sql

    # --single-transaction,给所有数据库加锁,防止数据写入,导致备份错误
    # --master-data 将binlog的信息以注释形式备份
    # -R 导出mysql自定义函数
    # -E 导出events事件 
    # --triggers 导出所有数据表的触发器

    Xtrabackup 物理备份
    基于命令的备份(和cp类似),备份数据库的数据目录
    需要给机器设置基于GTID的模式运行

    全量备份:

    innobackupex --user=root   --password=XXX  -S /tmp/mysql.sock  /xtrabackup_data/ 

    --no-timestamp :不使用该工具自带时间戳,自定义目录时间戳

    innobackupex --user=root --no-timestamp --password=XXX  -S /tmp/mysql.sock  /xtrabackup_data/ full_3306_db_$(date +%F)/

    恢复全量备份的数据:(不支持不同版本mysql恢复)

    1.mv移走自带数据

    2.xtrabackup准备备份目录

    innobackupex --apply-log 原来备份好的数据路径

    3.使用xtrabackup命令恢复

    innobackupex --defaults-file=/etc/my.cnf --copy-back --rsync 原来备份好的数据路径

    4.重新授权给mysql

    5.重启mysql,测试访问

    增量备份:

    # --incremental-basedir   以哪个目录为基础数据目录,然后进行增量备份 

    #  --incremental  增量备份的数据,放到哪

    增量合并到全量

    每一个备份的数据,都要用该参数 --apply-log ,提交,回滚事务,确保数据一致性
    --redo-only    只要不是最后一次合并,都要加这个参数

    把增量备份数据,逐步合并到全量备份数据,然后直接执行合并后的全量备份数据

    ----待

  • 相关阅读:
    重学Kotlin(五) 泛型 类型别名 委托
    【自学开发之旅】Flask-前后端联调-异常标准化返回(六)
    光模块对网络延迟的影响如何?
    软考-des题目案例
    excel函数公式
    只有线上出了bug,老板们才知道测试的价值?
    在线docker命令大全中文版
    vector插入元素技巧
    保障新能源园区安全无忧:可燃气体报警器校准检测的必要性探讨
    lock4j--分布式锁中间件--使用/实例
  • 原文地址:https://blog.csdn.net/l6xy6/article/details/139454864