主从复制的原理
使用主从服务器的好处是:当主服务器修改了数据,会实时同步到从服务器上,利用主从复制可以在一定的程度上代替备份,但千万不能完全代替备份,因为当你在主服务器上删除表,删除库,从服务器上也会马上删除表删除库。
扩展方式: Scale Up ,Scale Out
Scale Up 纵向的:可以理解为买更好的CPU,买更好的内存条,买更好的固态硬盘之类的
Scale Out 横向的:一台服务器不行,就配置两台,两台不行就三台,以此类推
MySQL的扩展
读写分离
复制:每个节点都有相同的数据集
向外扩展
二进制日志
单向
复制的功用
数据分布
负载均衡读
备份
高可用和故障切换
MySQL升级测试
主服务器是用于服实现服务器的更新的
从服务器负责读的
通过调度器,将DML 语言发送给主服务器(如增删改)
将DQL语言发送给从服务器(如查询)
一主一从
![](https://img2020.cnblogs.com/blog/1850497/202101/1850497-20210112155927479-944219273.png)
一主多从
主从复制原理
工作原理是基于二进制日志文件的,所以主服务器必须启动二进制日志文件,从服务器可以不启用二进制日志文件
集连,主服务器带着从服务器,从服务器带着从服务器
当数据库发生数据的更新的时候,会自动生成二进制日志文件(bin log),需要在主服务器上启动一个服务线程,这个线程负责读取生成新的二进制日志文件,通过网络发送给从节点,在从节点上有个io Thread 线程,用于接受主服务器发过来的数据, 从主服务上接受的日志文件放在从服务器上的中继日志里,Relay Log(磁盘里),通过SQL Thread 读取中继日志里生成的二进制日志文件,在数据库中执行,继而数据库数据就同步了
主从复制总共有三个线程,主服务一个线程,从服务器两个线程
-------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------- 博客均为个人笔记,无所追求,仅供参考~~~ QQ--2382990774