mysql - 我可以直接在 Galera 集群中的成员之一上运行 Xtrabackup 吗?

标签 mysql backup percona galera

我有一个由三个节点组成的 Galera 集群 (MySQL),目前依靠 mysqldump 进行备份。至少可以说,这很麻烦,因为数据库多年来一直在增长,现在已接近 20 GiB,而 mysqldump 大约需要半个小时才能完成它的工作。

Percona xtrabackup 似乎很有前途,我已经在单个节点上的数据库副本上进行了尝试,取得了非常积极的结果,备份时间从根本上减少了。

我无法确定的是,是否可以在其中一个节点(最好是今天运行 mysqldump 的节点)上安装 xtrabackup 并在集群数据库上运行它?我已经阅读了很多有关 xtrabackup 的内容,但我没有找到任何有关在集群成员之一上运行它的任何风险的信息。

最佳答案

我想不出有什么风险。

但是,可能还有更快的方法......

A计划:

使用第四台计算机运行备份脚本。或者,至少将转储写入第四台机器。任何转储程序都是 I/O 密集型的,甚至可能是 I/O 密集型的。通过在另一台机器上写入转储,您可以卸载 Galera 节点的 I/O。

我假设您在备份期间将该节点从集群中取出?并且 gcache 足够大,以便它执行 IST(而不是 SST)来重新同步?

B计划:

更进一步,使用 4 个节点而不是 3 个。这样,节点离线的影响和曝光就会更小。

C 计划:

使用第四台机器作为其中一个节点的从属机器。

问题...节点的地理分布是什么?如果这三个人现在坐在一起,想想 Tornado 、地震、洪水等。

备份的目的是什么?备份数据的地理位置是否遥远? (注意:这会给备份方法增加一些延迟。)

关于mysql - 我可以直接在 Galera 集群中的成员之一上运行 Xtrabackup 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56175955/

相关文章:

iphone - 在 Catalina 中禁用 iPhone 备份

mysql - Percona XtraDB 集群 SST 无法使用 rsync : wsrep_sst_rsync

mysql - 哪个查询被优化

php - Mysql/PDO 完整性违规重复主项 - 尽管表中没有任何内容

MySQL 查询缺少 ID

mysql - 是否可以使用 mysqldump 或其他任何方式将 "backup"行/表

c - 如何为 SQLite 做增量备份?

mysql 复制 5.5 master 到 5.7 slave

移动文件后无法识别 Mysql 数据库

mysql - 检查 MySQL 中的约束?