首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql复制主主机

问mysql复制主主机
EN

Server Fault用户
提问于 2011-09-27 15:29:14
回答 3查看 595关注 0票数 1
  1. 推荐使用mysql主从群集还是主主群集?
  2. 我是否需要第三方工具来完成虚拟IP的主主mysql集群?(我想用心跳,但我不确定S是否真的需要)。
  3. 如果有人有,我需要一些关于如何做主人的文件。

谢了,Elad。

EN

回答 3

Server Fault用户

发布于 2011-09-27 15:58:53

如果可能的话,你想要避免大师的设置。通常更好的做法是拥有一个主人和多个奴隶,如果主人失败了,就让一个奴隶成为新主人。如果您有较高的写负载,则不可能这样做。那么多位大师也许是有意义的。或者你可以看看切分。

票数 2
EN

Server Fault用户

发布于 2011-09-27 19:28:45

我很乐意推荐主人/主人而不是主人/奴隶,原因有几点

  • 您有两个DB服务器配置为具有最新二进制日志的Master
  • 手动故障转移到被动主机只是一个'ip地址添加‘离开。
  • 您可以将IP配置为一个活动主(使用乌卡普)
  • 您可以隔离DB写到一台计算机(无论哪个主服务器有DBVIP)
  • 被动母版(他没有DBVIP)可以用于读取、mysqldumps、XtraBackups、tar/gzip
  • 将奴隶重新配置为新主人,将老主人配置为新奴隶既不是快速的、琐碎的,也不是没有意义的,特别是当您必须快速备份DB Server时。

使用主/母版只有两个缺点

  • 如果被动母版落后于>0秒,则不能执行任何故障转移。如果太快失败,就会出现一个应用程序,它的数据已经过时了几秒钟,而重复键的可能性可能会让它露出丑陋的头脑,试图用数据中的空白来编写新数据。对于低写入环境,您可以接受这种情况,因为复制在失败之前可以很快赶上。
  • 两个主程序的缓存(MyISAM密钥缓存和InnoDB缓冲池)并不相同。如果无法访问被动主服务器,则可能会导致读取和写入的初始服务器负载峰值,从而获得具有正确数据的DB缓存。您可以使用mk-从机预取来克服这一问题,很快就会重命名pt-从预取( la Percona Toolkit)。

似乎处于灰色地带的是在两个主版上执行DB写操作。虽然发明自动和自动选项是为了减轻同一表的两个不同服务器上的auto_increment值,但真正安全地使用主/母版允许在这两台服务器上写入DB属于两种情况:

  1. 所有使用主键的表都不是基于自动递增的
  2. 写到不同主程序上的互斥数据库。换句话说,如果您限制DB写到一个主模块上的schema1,而从不在另一个主模块上执行DB写到schema1。

更新2012-10-04 11:42美国东部时间

Percona XtraDB集群已经成为一个很好的同步MultiMaster数据库。这对于多租户数据库来说是很好的。

您必须记住以下关于PXC的内容

  • 调整InnoDB的内存需求和磁盘配置
  • 记住,MyISAM上的DDL/DML不是在Galera写集复制器库中复制的。由于GRANT命令与存储引擎无关,所以处理mysql模式中的MyISAM表没有问题。不复制针对mysql.user的任何DML。
  • 最弱的节点会使整个集群变慢,特别是在提交时。因此,确保所有节点具有相同的硬件/软件/OS/VM/RAM/网络设置。
  • 您可以对所有节点执行适度的负载平衡写入。群集中的节点越多。提交越慢。
  • PXC不同于MySQL集群,因为所有节点都包含相同的数据。

当涉及到故障转移时,任何节点都可以是主节点。您将读物分散到集群中。对于多租户DB,您可以传播写入(插入、更新、删除),而无需担心死锁。当写入同一个数据库通过集群传播时,死锁仍然是可能的。在编写应用程序以避免死锁方面的尽职调查。

票数 2
EN

Server Fault用户

发布于 2011-09-27 16:29:12

一个关键的考虑因素是,您需要在整个集群中反映更新是否接近实时。

如果是我,我会倾向于使用服务器关联的主/主复制-这样用户就可以保证立即看到他们的更新(除非在部分中断期间)。

我是否需要第三方工具来完成虚拟IP的主主mysql集群?

如果主/从复制失败,那么您需要一些智能来处理主/从复制中的从级升级--有一个google,有很多例子。

作为prev,为了提供负载平衡和服务器关联,我建议运行mysqlproxy (例如,根据会话id或客户端IP分发工作负载)。根据您正在运行的how服务器数量,您可能会在每个服务器上运行一个mysqlproxy实例。实现服务器关联显然没有记录在mysqlproxy网页上--但是您只需要学习一些lua!

这里有一个设置复制这里的简短方法。

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

https://serverfault.com/questions/315992

复制
相关文章

相似问题

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