首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql实时备份的多个实例

问Mysql实时备份的多个实例
EN

Database Administration用户
提问于 2015-11-03 10:14:20
回答 1查看 1.5K关注 0票数 1

我目前的mysql备份策略是复制。我在主人身后设置了一个或多个奴隶。如果主人失败了,我仍然有一个干净和最新的数据副本,从一个奴隶。它的工作没有任何问题。现在我开始有更多的主节点来管理,每个主节点都持有不同的数据。

现在,如果我想使用相同的备份策略,我需要为每个主服务器设置至少一个从实例。它将使mysql节点的数量翻一番。理想情况下,我希望所有备份只有一台服务器。我能想到的可能的解决办法是:

  1. 在同一台机器上的不同端口上运行mysql从机的多个实例;
  2. Crontab + Rsync;

对于可能的解决方案#1,它应该可以工作,但是它需要花费内存来运行从实例。对于可能的解决方案#2,我担心当数据被rsync‘编辑时,主服务器失败,备份可能不包含数据的完整副本。那么,还有其他更好的策略来安全地备份所有主节点到一个地方吗?

EN

回答 1

Database Administration用户

发布于 2015-11-03 11:17:52

“我目前的mysql备份策略是复制。”复制不能是备份策略,但可以在从服务器上设置备份!我猜你是在说“如果主人失败了,那就用奴隶”.

不管怎样..。MySQL 5.7附带了多源复制。您可以从两个不同的主程序中复制单个从机。

您可以编写自己的脚本来循环更改-主程序-切换主程序并进行复制。

你的想法:

代码语言:javascript
复制
while(true) {

change master to master1 from noted co-ordinates
monitor until sec_behind_master=0
   Note coordinates: relay_master_log_file, exec_master_log_pos

change master to master2 from noted co-ordinates
monitor until sec_behind_master=0
   Note coordinates: relay_master_log_file, exec_master_log_pos

}

最后,您可以在这个从服务器上设置备份。(这并不比下面写的复杂多少)

您还可以为主程序和设置备份提供单独的辅助服务器。您以后可以将这些备份推送到远程位置/网络驱动器/磁带/上载到s3以保留更长时间。

master1--> slave1

master2--> slave2

(如果需要时间点还原,请考虑备份二进制日志。)

对于备份,可以使用传统的米斯德或推土机/装载机。如果您的数据大小很大,最好采用/w物理备份,然后按照用荷兰框架建立mysql的xtrabackup进行。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/119908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档