我有一个由三个节点组成的Galera群集(MySQL),目前正在依靠mysqldump进行备份。至少可以这样说,这很麻烦,因为数据库已经发展了许多年,现在已接近20 GiB,而mysqldump大约需要半个小时才能完成工作。
Percona xtrabackup似乎很有前途,我已经在单个节点上的数据库副本上试用了它,并取得了非常积极的成果,从根本上减少了备份时间。
我无法确定的是是否可以在其中一个节点上安装xtrabackup(最好是今天运行mysqldump的节点)并在群集数据库上运行它?我已经在xtrabackup上阅读了很多文章,但是没有发现关于在集群成员之一上运行它的任何风险的任何信息。
答案 0 :(得分:0)
我认为没有任何风险。
但是,可能会有更快的方法...
计划A:
使用第四台计算机运行备份脚本。或者至少将转储写入第四台计算机。任何转储程序都会占用大量I / O,甚至可能受I / O限制。通过在另一台计算机上写入转储,可以卸载Galera节点的I / O。
我假设您在备份期间将节点从群集中移出了?并且具有足够大的gcache,以便它执行IST(而不是SST)来重新同步吗?
计划B:
进一步发展,使用4个节点而不是3个节点。这样,使节点处于脱机状态具有较小的影响和较小的风险。
计划C:
使用第四台计算机作为到其中一个节点的从站。
问题...节点的地理分布是什么?如果目前三个人都坐在一起,请考虑龙卷风,地震,洪水等。
备份的目的是什么?备份数据将在地理位置上处于远程状态吗? (注意:这会增加备份方法的延迟。)