热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

mysql环形复制_MySQL复制(五:拓扑结构)|剑花烟雨江南

可以在任意主库和备库之间建立复制,只有一个限制:一个备库只能有一个主库。前面已经介绍了如何为一个主库设置一个备库,接下来介绍其他比较普遍的

可以在任意主库和备库之间建立复制,只有一个限制: 一个备库只能有一个主库。

前面已经介绍了如何为一个主库设置一个备库,接下来介绍其他比较普遍的拓扑结构以及优缺点。记住以下原则:

1)一个MySQL 备库实例只能有一个主库。

2)每个备库必须有一个唯一的服务器ID。

3)一个主库可以有多个备库。

4)如果打开了 log_slave_updates 选项,一个备库可以把其主库上的数据变化传播到其他备库。

一主库对多备库

事实上一主多备的结构和配置基本上差不多,因为备库之间根本没有交互。

0897a9b9d6e5e02d5b71eb00d3e4039f.png

尽管这是非常简答的拓扑结构,但它可以满足多种需求。下面是它的一些用途:

1)为不同的角色使用不用的备库。

2)把一台备库当做待用的主库,除了复制没有其他数据传输。

3)把一台备库放到远程数据中心,用做灾难恢复。

4)延迟一个或多个备库,以备灾难恢复。

5)使用其中一个备库,用做备份、培训、开发或者测试使用服务器。

主动 — 主动模式下的主 — 主复制

主 - 主复制(也叫双主复制或双向复制)包含两台服务器,每一个都被配置成对方的主库和备库。

e37aa321c455a2bb0b3fd77fa7b29758.png

这种配置最大的问题就是如何解决冲突,两个可写的互主服务器导致的问题非常多。这通常发生在两台服务器同时修改一行记录,或同时在两台服务器上包含一个 AUTO_INCREMENT 列的表里插入数据。

MySQL 5.0 增加了一些特性,使得这种配置稍微安全了点。总地来说,允许向两个服务器上写入所带来的麻烦远远大于其带来的好处。

主动 — 被动模式下的 主 — 主复制

这是前面描述的主 - 主结构的变体,它能够避免上面的问题。这也是构建容错性和高可用性系统的非常强大的方式,主要区别在于另一台服务器是只读的被动服务器。

89f98272f12169d17f5be79467317721.png

这种方式使得反复切换主动和被动服务器非常方便,因为服务器的配置是对称的。这使得故障转移和故障恢复很容易。

对两台服务器上执行如下设置后,会使其拥有对称的设置:

1.确保两台服务器上有相同的数据

2.启用二进制日志,选择唯一的服务器ID,并创建复制账号。

3.启用备库更新的日志记录,这是故障转移和故障恢复的关键。

4.把被动服务器配置成只读,防止可能与主动服务器上的更新产生冲突,这一点是可选的

5.启动每个服务器上的 MySQL 实例

6.将每个主库设置成对方的备库,使用新创建的二进制日志开始工作。

拥有备库的主 — 主结构

另外一种相关的配置是为每一个主库增加一个备库。

fafe9aa7be1594cffe2c79c29a978304.png

这种配置的优点是增加了冗余,对于不同地理位置的复制拓扑,能够消除站点单点失效的问题。

环形复制

双主结构实际上是环形结构的一种特例。环形结构可以有三个或者更多的主库。每个服务器都是在它之前的服务器的备库,是在它之后的服务器的主库。这种结构也被称为环形复制。

因为唯一可以根据服务器ID 将其过滤的服务器是创建这个事件的服务器,总地来说,环形结构非常脆弱,应该尽量避免。

65de57ba0db88420557cd6c454febf69.png

可以通过为每个节点增加备库的方式来减少环形复制的风险。



推荐阅读
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • mysql-cluster集群sql节点高可用keepalived的故障处理过程
    本文描述了mysql-cluster集群sql节点高可用keepalived的故障处理过程,包括故障发生时间、故障描述、故障分析等内容。根据keepalived的日志分析,发现bogus VRRP packet received on eth0 !!!等错误信息,进而导致vip地址失效,使得mysql-cluster的api无法访问。针对这个问题,本文提供了相应的解决方案。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
author-avatar
赵娜supergirl
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有