Mysql数据库异地备份解决方案

本文详细介绍了MySQL数据库的异地备份解决方案,重点讨论了Percona Xtrabackup工具的全量和增量备份及恢复过程,包括环境分析、风险评估、方案选择,以及备份恢复的脚本和配置文件示例。
摘要由CSDN通过智能技术生成

目录

1、备份目的

2、环境分析

3 风险分析

3.1 生产环境和备份环境在同一主机

3.2 生产环境和备份环境在同一机柜不同主机

3.3 生产环境和备份环境在同一机房不同机柜

3.4 生产环境在同城不同机房

4、方案比对

4.1 物理冷备

4.2 专用备份工具mysqldump或mysqlhotcopy

4.3 启用二进制日志文件进行增量备份

4.4 第三方工具备份(免费的mysql热备软件Percona Xtrabackup)

5、方案选择

6、Xtrabackup异地全量备份和恢复

6.1 备份

6.2 将备份文件目录打包传到目的机器

6.3 恢复前期准备

6.3.1 解压文件

6.3.2 停掉目的机器上的mysql

6.3.3 备份之前的数据文件目录,并创建一个空的目录

6.3.4 xtrabackup恢复

6.3.5 修改目录属性启动数据库

7、xtrabackup增量备份和恢复

7.1 备份操作

7.1.1 全量备份

7.1.2 增量备份

7.2 恢复操作

7.2.1 准备全备份日志

7.2.2 准备增量备份日志

7.2.3 全备份准备

7.2.4 恢复数据

7.2.5 修改数据目录权限和属性

8、脚本源码

8.1 全量备份脚本

8.2 增量备份脚本

8.3 自动恢复脚本

8.4 配置文件


1、备份目的

        保证在生产数据库发生异常,短时间内无法恢复时,确保数据的可恢复性,或者在误删数据后的紧急恢复

2、环境分析

确定生产环境,确认备份环境

  1. 现有数据量
  2. 每日增量数据
  3. 备份位置
  4. 网络宽带
  5. 可容忍数据丢失情况

3 风险分析

3.1 生产环境和备份环境在同一主机

        不能避免主机单点故障,如主机CPU、内存等硬件损坏,生产和备份都不可用,不建议

3.2 生产环境和备份环境在同一机柜不同主机

        不能避免机柜单点故障,如机柜机器同时损坏,局部火灾等,虽然可能性小,有条件还是建议不放在一起

3.3 生产环境和备份环境在同一机房不同机柜

        不能避免机房出现极端情况,机房断电,挖断光缆等,机房多路电源,快速抢修都能很好解决此类情况,但遇见火灾等还是有可能导致生产和备份同时丢失数据。

3.4 生产环境在同城不同机房

        几乎可避免已知所有威胁,但对网络要求高,投入成本高

4、方案比对

4.1 物理冷备

优点:备份速度快,恢复时简单

缺点:备份时数据库处于关闭状态,恢复只能恢复到备份的时间节点

恢复方式:直接覆盖数据库文件

4.2 专用备份工具mysqldump或mysqlhotcopy

        优点:逻辑备份,把数据生成SQL形式保存,在单库,单表数据迁移,备份恢复等场景方便,SQL形式的备份文件通用,也方便在不同的数据库之间移植。

         缺点:单线程,数据量大的时候,备份时间长,甚至有可能在备份过程中非事务表长期锁表对业务造成影响(SQL形式的备份恢复时间也比较长)。mydump备份时会查询所有的数据,这可能会把内存中的热点数据刷掉。

         恢复方式:运行SQL文件恢复

4.3 启用二进制日志文件进行增量备份

        优点:binlog文件小,日志是包含用户执行的原始SQL,方便统计和审计,出现最早,兼容性好

         缺点:存在安全隐患,可能导致主从不一致,对一些系统函数不能准确复制或是不能复制

4.4 第三方工具备份(免费的mysql热备软件Percona Xtrabackup)

        优点:备份速度快,备份过程不会打断正在执行的事务,能够基于压缩等功能节约磁盘空间和流量,自动备份校验,还原速度快,可以流传将备份传输到另一台机器上,在不增加服务器负载的情况备份数据。

        缺点:文件大,不总是可以跨平台、操作系统和MYSQL版本

5、方案选择

        通过如上对比针对数据量不超过2T,每日增量不超过200G,建议使用Percona XtraBackup备份的方式。

6、Xtrabackup异地全量备份和恢复

6.1 备份

        

xtrabackup --user=root --password=root --defaults-file=/etc/my.cnf --backup --target-dir=/root/mysql_backup

6.2 将备份文件目录打包传到目的机器

cd /root
tar -cvf mysql_backup.tar ./mysql_backup/
scp mysql_backup.tar root@192.168.100.111:/root/

6.3 恢复前期准备

6.3.1 解压文件

tar -xvf mysql_backup.tar

6.3.2 停掉目的机器上的mysql

service mysqld stop
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值