MySQL主从复制

目录

1.主从复制作用

1.1 读写分离,提高吞吐量

1.2 数据备份

1.3 数据库的高可用

2.主从复制原理


1.主从复制作用

1.1 读写分离,提高吞吐量

        可以通过配置读写分离,提高数据库并发处理能力。

        其中一个是Master主库,负责写入数据,我们称之为:主库

        其他都是Slave从库,负责读取数据,我们称之为:读库

        当主库进行更新的时候,会自动将数据复制到从库中,而我们在客户端读取数据的时候,会从从库中进行读取。面对读多写少的需求,采用读写分离的方式,可以实现更高的并发量。而且读写分离还可以减少锁表带来的影响,比如我们让主库负责写,当主库出现写锁的时候不会影响到从库的读。同时我们还可以对服务器进行负载均衡,让不同的读请求按照均衡策略均匀地分发到不同的从服务器上,让读取更加顺畅。

1.2 数据备份

        我们通过主从复制将主库上的数据复制到了从库,相当于是一种热备份机制,也就是在主库正常运行的情况下进行的备份,不会影响到服务。

1.3 数据库的高可用

        数据备份实际上是一种冗余的机制,可以保证数据库服务的高可用,也就是当主机出现故障或宕机的情况,可以切换到从服务器上,保证服务的正常运行。

2.主从复制原理

        实际上主从复制的原理就是基于bin log进行数据同步。在主从复制过程中,会基于3个线程来操作,一个主库线程,两个从库线程。

        二进制日志转储线程:是一个主库线程。当从库线程连接的时候,主库可以将二进制日志发送给从库,当主库读取事件的时候,会在binlog上加锁,读取完成之后,再将锁释放掉。

        从库I/O线程:会连接到主库,向主库发送请求更新binlog。这时从库的I/O线程就可以读取到主库的二进制日志转储线程发送的binlog更新部分,并且拷贝到本地中继日志中。

        从库SQL线程:会读取从库中的中继日志,并且执行日志中的事件,将从库中的数据与主库保持同步。

复制三步骤:

        步骤1:Master将写操作记录到二进制日志中(bin log)。这些记录叫做二进制事件。

        步骤2:Slave将Master的binary log events拷贝到它的中继日志(relay log)。

        步骤3:Slave重做中继日志中的事件,将改变应用到自己的数据库中。MySQL复制是异步且串行化的,而且重启后从接入点开始复制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值