mysql死磕7天第四天

mysql备份

为什么要备份

灾难恢复

灾难恢复是下列场景下需要做的事情:硬件故障,一个不经意的bug导致数据损坏或者服务器及其数据由于某些原因不可获取或无法使用等。你需要准备好应付很多问题。

人们改变想法

很多人警察会在删除某些数据后又想要恢复这些数据。

审计

有时候需要知道数据库或者数据子安过去的某个时间点是什么样的。

测试

一个最简单的基于实际数据来测试的方法是,定期采用最新的生产环境数据更新测试服务器。如果使用备份的方案就会非常简单,把备份文件还原到测试服务器即可。


设计备份方案

1、对于大数据库来说,物理备份是必须的,逻辑备份太慢并受到资源限制,从逻辑备份中恢复需要很长时间。基于快照的备份,比如说percona xtrabackup 和mysql enterprise backup是最好的选择。对于较小的数据库,逻辑备份可以很好的胜任。

2、保留多个备份集。

3、定期从逻辑备份或者物理备份中抽取数据进行恢复测试。

4、保存二进制日志以用于基于故障时间点的恢复。

5、完全不借助备份工具本身来监控备份和备份的过程,需要另外验证备份是否正常。

6、通过演练整个恢复过程来测试备份和恢复。测算恢复所需要的资源 ,cpu 磁盘空间,实际时间,网络带宽等。