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    只要不是最后一次合并,都要加这个参数

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

----待

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值