备份 RDS MySQL 数据库的最佳策略

use*_*577 6 mysql replication backup amazon-rds

我有一个 AWS RDS MySQL 数据库。我不是 DBA,所以我的知识有限。

我希望在复制或数据备份方面设计策略以在发生故障时实现零数据丢失。

我知道它们是不同的术语。(并且忽略错误的删除语句可以删除数据,在这种情况下复制可能没有用)。

我希望做的就是在出现数据库故障时实现零数据丢失。AWS 维护快照,但这可能需要几个小时。所以有数据丢失。

我应该考虑在 AWS 之外设置数据库服务器吗?或者是什么?我应该进行复制还是定期备份?

DBA 有什么其他策略吗?

Rol*_*DBA 1

您可能没有意识到这一点,但 MySQL RDS 允许您创建两件事

  • 读取副本
  • 快照

它们之间有什么区别?

  • 只读副本只是您从 AWS 控制台创建的 MySQL 复制从属服务器。只需点击一下即可。它保持连续备份。
  • 快照只是 AWS MySQL RDS 实例的实例副本。这更像是数据的时间点副本。这可以作为实例的物理备份。
  • 注意事项#1:您可以通过拍摄只读副本快照来组合这两种方法,以免干扰生产 RDS 实例。您可以拍摄生产实例的快照,但它可能比拍摄只读副本的快照慢一些。
  • 注意#2:您不希望从 RDS 获取 mysqldump,因为这样做可能会产生相应的费用。如果您确实需要访问 mysqldumps,请从 RDS 切换到 EC2。您只需要更多地管理 MySQL(我应该增加 AWS RDS t1-micro for MySQL 中的 max_connections 吗?)以及管理 EC2 实例。

这是我过去关于这个主题的一些帖子

更新 2013-05-22 16:21 美国东部时间

复制延迟是 MySQL 复制的一部分,因为它是异步的。即使您使用的是 MySQL 5.5,您也无法利用半同步复制功能(显然是 AWS 政策)。

如果您想要虚拟同步复制,您可能需要Percona XtraDB Cluster (PXC),这是一个全 InnoDB 虚拟同步、符合 ACID 的数据库集群,因为设计上禁止复制滞后(Codership 的 Galera 库嵌入在服务器二进制文件中)。您将必须停止使用 RDS 并使用 EC2。

查看PXC 的文档,了解如何在 EC2 环境中设置 PXC