数据网站建设哪家好,sae wordpress 上传,易购商城网站怎么做啊,电商系统app开发目录
MySQL主从复制
概念
主从形式
一主多从
多主一从
双主复制
主从级联复制
主从复制原理
三个线程
两个日志文件
主从复制的主要工作模式
异步复制
半同步复制 全同步复制 MySQL主从复制
概念
MySQL主从复制是一种数据分布机制#xff0c;允许从一个数据库服…目录
MySQL主从复制
概念
主从形式
一主多从
多主一从
双主复制
主从级联复制
主从复制原理
三个线程
两个日志文件
主从复制的主要工作模式
异步复制
半同步复制 全同步复制 MySQL主从复制
概念
MySQL主从复制是一种数据分布机制允许从一个数据库服务器主服务器复制数据到一个或多个数据库服务器从服务器。
解决问题目的
读写分离数据备份高可用
主从形式
一主多从 实现了
读写分离
高可用
多主一从 用于多个节点写一个节点负责查报表系统
双主复制 实现了
读写负载均衡
互相备份
主从级联复制 实现了
缓解主节点io压力
主从复制原理 三个线程
实际上主从同步的原理就是基于 binlog 进行数据同步的。在主从复制过程中会基于3 个线程来操作一个主库线程两个从库线程。
二进制日志转储线程Binlog dump thread是一个主库线程。当从库线程连接的时候 主库可以将二进制日志发送给从库当主库读取事件Event的时候会在 Binlog 上加锁读取完成之后再将锁释放掉。
从库 I/O 线程会连接到主库接收主库发送请求更新 Binlog。这时从库的 I/O 线程就可以读取到主库的二进制日志转储线程发送的 Binlog 更新部分并且拷贝到本地的中继日志 Relay log。
从库 SQL 线程会读取从库中的中继日志并且执行日志中的事件将从库中的数据与主库保持同步。
两个日志文件
Binary Log
二进制日志binary log 以事件形式记录了对MySQL数据库执行更改的所有操作
Relay Log
用来保存从节点I/O线程接收的bin log日志作为中继日志存在。
主从复制的主要工作模式
异步复制
MVSQL默认的复制方式在异步复制的方式中主库在执行完事务操作以后会立刻给客户端返回。他不需要关心从库是否完成该事务的执行。
这种方式会导致一个问题那就是当主库出现故障时主库虽然事务执行完了但是可能还没来得及把数据同步给从库就挂了。那么当从库升级为主库之后他会丢失了这次事务的变更内容。 半同步复制
半同步复制是介于全同步复制和异步复制之间的一种方案。他再执行完一个事务之后也不会立刻给客户端反馈但是也不会等所有从库都完成事务而是等其中一个从库完成接收到事件之后再反馈给客户端。 在半同步复制这个方案中会在事务提交的2阶段都完成之后等待从库接收到binlog然后再返回成功。 全同步复制
全同步复制的这个方式中当主库执行完一个事务之后他会等待所有的从库完成数据复制之后才会给客户端反馈。这种方式安全性可以保障了但是性能很差。如果从库比较多的话会导致整个过程更加长。