目录
4.2 专用备份工具mysqldump或mysqlhotcopy
4.4 第三方工具备份(免费的mysql热备软件Percona Xtrabackup)
1、备份目的
保证在生产数据库发生异常,短时间内无法恢复时,确保数据的可恢复性,或者在误删数据后的紧急恢复
2、环境分析
确定生产环境,确认备份环境
- 现有数据量
- 每日增量数据
- 备份位置
- 网络宽带
- 可容忍数据丢失情况
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