进行数据库备份时网站显示不可用?

website shows unavailable while taking DB backup?

我的网站是在亚马逊的一个实例上使用 Drupal 7 创建的,数据库位于亚马逊 RDS 上。每当我使用 Mysql 与 root 用户备份数据库时,同时当开发人员尝试清除网站上的缓存时,网站离线直到备份完成大约 30 分钟,这种情况每次都会发生。避免此问题的解决方案是什么。

使用mysqldump备份时尽量使用这个参数。 --lock-tables 适用于 MyISAM 存储引擎。 --single-transaction 用于 Innodb 存储引擎。

--lock-tables 在转储之前锁定所有表。在 MyISAM 表的情况下,表被 READ LOCAL 锁定以允许并发插入。

对于 InnoDB 和 BDB 等事务表,--single-transaction 是一个更好的选择,因为它根本不需要锁定表.--single-transaction 产生一个允许转储捕获的检查点在接收传入更改时检查点之前的所有数据。这些传入的更改不会成为转储的一部分。这确保所有表的时间点相同。

您可以创建只读副本并对副本执行 mysqldump,以减轻主服务器的负载。 https://aws.amazon.com/rds/details/read-replicas/