MySQL 复制

本文详细介绍了MySQL复制的功能和工作原理,包括数据分布、负载均衡、备份与高可用性等。复制过程涉及主库的二进制日志记录,从库的中继日志重放。此外,还讲解了复制配置的基本步骤,如创建复制账号、修改配置,并提供了主从服务器的配置示例。最后,讨论了多种复制拓扑结构,如一主多从、主主复制及其变体,强调了如何处理冲突和构建高可用系统。
摘要由CSDN通过智能技术生成

1 复制概述

复制解决的基本问题是让一台服务器的数据与其他服务器保持同步。一台主库的数据可以同步到多台服务器上,从库本身也可以被配置为另外一台服务器的主库。

MySQL 支持两种复制方式:基于行的复制和基于语句的复制。这两种方式都是通过在主库上记录二进制日志,在从库重放日志的方式来实现异步的数据复制。这意味着,在同一时间点从库上的数据可能与主库存在不一致的问题,并且无法保证主从之间的数据延迟。

1.1 复制解决的问题

  • 数据分布
    MySQL 复制通常不会对带宽造成很大压力,且你可以随意停止或开始复制,并在不同的地理位置来分布数据备份,如不同的数据中心。
  • 负载均衡
    通过 MySQL 复制可以将度操作分布到多个服务器上,实现对读密集型应用的优化。可以使用 DNS 轮询或其他负载均衡算法将读请求分发到多个 MySQL 实例上,减少每个实例的负载,提高并发。
  • 备份
    对于备份来说,复制是一项很有意义的技术补充。但复制并不是备份也不能取代备份。
  • 高可用和故障切换
    复制能够帮助应用避免 MySQL 单点故障,一个包含复制的设计良好的故障切换能够显著缩短宕机时间。
  • MySQL升级测试
    使用一个高版本的 MySQL作为备库,保证在升级全部实力前,查询能够在从库按照预期执行。

1.2 复制如何工作

总的来说,复制有是哪个步骤:

  1. 在主库上把数据更改记录到二进制日志(Binary Log)中。
  2. 从库将主库上的日志复制到自己的中继日志(Relay Log)中。
  3. 从库读取中继日志中的事件,将其重放到从库数据库。

示意图如下所示MySQL 复制如何工作

2 复制配置

2.1 基本配置

为 MySQL 服务器配置复制非常简单,但由于场景不同,基本的步骤还是有所差异。假设有服务器 server1(IP:192.168.2.3)和 server2(IP: 192.168.2.4),最基本的场景是新安装的主库和备库,总的来说分为以下几步:

  1. 在每台服务器上创建复制帐户
    通过如下语句创建复制帐号,并赋予其一定的权限
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT <
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值