运维必会之MySQL主从复制

本文详细介绍了MySQL主从复制的概念、作用、原理及三种复制模式,强调了主从复制在数据热备、读写分离和高可用性中的价值。接着,分析了主从复制延迟的因素,并提供了搭建MySQL主从复制的步骤,包括NTP设置和从服务器配置等。
摘要由CSDN通过智能技术生成

MySQL主从复制

什么是主从复制

主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库。在赋值过程中,一个服务器充当主服务器,而另外一台服务器充当从服务器。
当一台从服务器连接到主服务器时,从服务器会通知主服务器从服务器的日志文件中读取最后一次成功更新的位置。然后从服务器会接收从哪个时刻起发生的任何更新,然后锁住并等到主服务器通知新的更新

主从复制的作用

做数据的热备
作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。

架构的扩展
业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的评率,提高单个机器的I/O性能。

读写分离
使数据库能支持更大的并发。在报表中尤其重要。由于部分报表sql语句非常的慢,导致锁表,影响前台服务。如果前台使用master,报表使用slave,那么报表sql将不会造成前台锁,保证了前台速度。

1–在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;(主库写,从库读,降压)
2–在从主服务器进行备份,避免备份期间影响主服务器服务;(确保数据安全)
3–当主服务器出现问题时,可以切换到从服务器。(提升性能)

MySQL主从复制原理

主服务器在更新数据前,会写入硬盘,银盘在再将数据写入二进制日志

从服务器开启I/O线程,Master节点为每个I/O线程启动一个dump线程用于发送二进制事件到从服务器的中继日志中

从服务器的sql线程开启,读取中继日志,并将数据放入从服务器硬盘中,从而实现与主服务器的数据一致
在这里插入图片描述

MySOL主从复制模式

异步复制(Asynchronous replication)
MySQL默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果crash掉了,此时主上已经提交的事务可能并没有传到从上,如果此时,强行将从提升为主,可能导致新主上的数据不完整。

全同步复制(Fully synchronous replication)
指当主库执行完一个事务,所有的从库都执行了该事务才返回给客户端。因为需要等待所有从库执行完该事务才能返回,所以全同步复制的性能必然会收到严重的影响。

半同步复制(Semisynchronous replication)
介于异步复制和全同步复制之间,主库在执行完客户端提交的事务后不是立刻返回给客户端,而是等待至少一个从库接收到并写到relay log中才返回给客户端。相对于异步复制,半同步复制提高了数据的安全性,同时它也造成了一定程度的延迟,这个延迟最少是一个TCP/IP往返的时间。所以,半同步复制最好在低延时的网络中使用。

MySOL主从复制延迟的原因

master服务器高并发,形成大量事务

网络延迟

主从硬件设备导致 cpu主频、内存io、硬盘io

本来就不是同步复制、而是异步复制

从库优化Mysql参数。比如增大innodb_buffer_pool_size,让更多操作在Mysql内存中完成,减少磁盘操作。从库使用高性能主机。包括cpu强悍、内存加大。避免使用虚拟云主机,使用物理主机,这样提升了i/o方面性。从库使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值