具有 2 TB 数据的 MySQL 服务器。

标签 mysql database-backups

备份 2 TB MySQL 数据的最佳策略是什么?应该多久安排一次数据备份? 我使用复制作为备份策略,但我知道这不是好的做法。

请注意:我是 MySQL 服务器的新手,这个问题可能听起来非常基本,不适合一些老用户。但我正在努力学习。 谢谢。

最佳答案

尺寸最重要,因为所有操作都需要更长的时间。这是无法回避的。否则很多备份策略保持不变。

首先,复制不是备份。这是为了可用性和可扩展性。复制(带有延迟的从属应用)至多是单个快照。一旦复制了错误的更新/删除/截断,数据就会消失。

您的“最佳策略”取决于几个因素:
- 恢复时间目标(您需要恢复的速度)。
- 恢复点目标(恢复到什么时间点)。
- 许多小型数据库?一个 2 TB 数据库?
- 你要花多少钱购买资源。
- 您是否遵守能够恢复 1、3、7 年等数据的监管要求。

使用 Persona Xtrabackup 的物理备份将能够拍摄服务器上所有数据库的时间点快照。 (注意使用 myisam 引擎的非事务表)

使用 mysqldump 的逻辑备份可能备份速度更快、更小、压缩效果更好,但在恢复时需要构建索引,因此可能需要更长的时间。

所以...在完美的情况下,定期进行物理和逻辑备份。连续备份二进制日志 ( https://www.percona.com/blog/2012/01/18/backing-up-binary-log-files-with-mysqlbinlog/ )。只要您的从站是最新的,您就可以在那里进行备份,以免影响您的主站。要确定备份频率,恢复备份,并计算应用 1 周日志所需的时间。您达到“恢复时间目标”了吗?不,需要更频繁的备份。

另外,请调用 https://dba.stackexchange.com更深入地了解拥有数据库的这些运营挑战:)

关于具有 2 TB 数据的 MySQL 服务器。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46568920/

相关文章:

php - 为什么我的数据库备份脚本不能在 php 中运行?

mysql - 在嵌套选择中插入mysql中的多个值

mysql - 用 git 处理 MySQL 备份是否可行?

Mysqldump 性能下降

java - 使用 Spring Boot Rest api 的 mysql 身份验证问题

sql - 如何使用 isql.exe(命令行)将 Sybase 15 数据库备份到文件或从文件恢复?

mysql - 如何 mysqldump 数据库中每个表的最后 10 行?

php - 关于从互联网上蜘蛛/抓取/收集音频内容的最佳方式的建议/提示

mysql - 获取mysql组中的最新日期

mysql - group_concat 的使用?