炫彩死神 发表于 2024-4-6 03:05:02

MySQL 主从复制

概述

在主从复制中,一般有一个主数据库(Master)和一个或多个从数据库(Slave),主数据库负责接收和处理写操作,从数据库复制主数据库的日志文件,将写操作在自身的数据库重演,从而实现数据的同步

复制类型


[*]STATEMENT:把主数据库执行的 sql 复制到从数据库,是默认类型
[*]ROW:直接把数据行复制过去
[*]MIXED:默认复制 sql 语句,如果发现无法精确复制,就会复制行数据

工作过程



[*]主库数据更新,写入二进制日志文件
[*]从库监听到主库的二进制日志文件发生改变,开启 I/O 线程向主库请求二进制日志记录;
[*]主库为每个 I/O 线程开启 dump 线程,向从库发送二进制日志记录
[*]从库的 I/O 线程将主库的二进制日志记录保存到本地的中继日志
[*]从库启动 SQL 线程从中继日志读取二进制日志记录,在本地重新执行,使数据和主库保持一致
[*]I/O 线程和 SQL 线程进入睡眠状态,等待下一次被唤醒

同步类型


[*]异步复制:主库执行完事务,立即将结果返回客户端,并不关心从库是否已经接收并处理。此时如果主库挂掉,而从库又未完成同步,会导致数据不一致,MySQL 默认采用此类型
[*]全同步复制:主库执行完事务,所有的从库也都执行了该事务,完成数据同步,才将结果返回客户端,性能会收到一定影响
[*]半同步复制:在异步复制的基础上,确保主库返回结果前,至少有一个从库已经收到该事务并记录到中继日志,但并不保证执行

实例配置

待补充

来源:https://www.cnblogs.com/Yee-Q/p/18115963
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: MySQL 主从复制