我需要将不同的 MySQL数据库从多个服务器复制到单个从属服务器中。如何才能做到这一点?对于每个主服务器,我是否需要在从属设备上使用单独的MySQL实例?或者有没有办法定义多个主主机?
我们基本上使用奴隶作为多个网站的热备份。我们应该考虑集群而不是复制吗?
答案 0 :(得分:4)
实现这一目标的最佳方式是真正的备份解决方案...但是当你按照你描述的方式为每个主人定义一个从属实例时这样做 - 这样你保持灵活性,例如,如果需要任何改变,你甚至可以移动一个或多个从属实例到另一台机器而对其他从属/主机没有任何影响...
编辑 - 根据评论:
有关如何在同一台机器上设置多个MySQL实例的说明,请参阅
这使您保持足够的灵活性,可以并行使用不同的MySQL版本(每个slave / master组合相同)...
答案 1 :(得分:2)
您将不得不使用多个mysql实例。如果你有6个主人并且你试图将所有从属设备放在一台物理机器上,那么你将需要6个实例,
假设你正在使用某种类型的unix操作系统,你可以设置一个cron作业来停止和启动每个实例,以使负载平均值保持最小。
在进行热备份之前,让一个从属实例运行并赶上其主服务器会很好。相同的步骤适用于下一个奴隶,依此类推。每次启动一个slave实例时你都会关闭其他mysql slave实例,可以关闭以保持load avg。至少。
答案 2 :(得分:2)
自2011年以来,环境发生了一些变化。 MySQL 5.7和MariaDB 10现在支持从多个主服务器进行复制 - 但它们的语法略有不同。
MySQL 5.7:http://www.percona.com/blog/2013/10/02/mysql-5-7-multi-source-replication/