百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql主从复制道理有哪些
分享文章到:

mysql主从复制道理有哪些

发布时间:12/01 来源:未知 浏览: 关键词:
mysql主从复制道理:第一主库发送更新事件到从库;然后从库读取更新记载,并施行更新记载;最后使得从库的内容与主库维持一致。

mysql主从复制道理:第一主库发送更新事件到从库;然后从库读取更新记载,并施行更新记载;最后使得从库的内容与主库维持一致。

主库db的更新事件(update、insert、delete)被写到binlog

主库新建一个binlog dump thread,把binlog的内容发送到从库

从库启动并发起连贯,连贯到主库

从库启动之后,新建一个I/O线程,读取主库传过来的binlog内容并写入到relay log

从库启动之后,新建一个SQL线程,从relay log里面读取内容,从Exec_Master_Log_Pos位置开端施行读取到的更新事件,将更新内容写入到slave的db

注:上述流程为相对流程,并非绝对流程

MySQL主从复制的道理

MySQL主从复制是一个异步的复制历程,主库发送更新事件到从库,从库读取更新记载,并施行更新记载,使得从库的内容与主库维持一致。

binlog:binary log,主库中保留所有更新事件日志的二进制文件。binlog是数据库办事启动的一刻起,保留数据库所有变动记载(数据库构造和内容)的文件。在主库中,只有有更新事件涌现,就会被顺次地写入到binlog中,之后会推送到从库中作为从库进行复制的数据源。

binlog导出线程:每当有从库连贯到主库的时候,主库都会新建一个线程然后发送binlog内容到从库。 关于每一个马上发送给从库的sql事件,binlog导出线程会将其锁住。一旦该事件被线程读取完之后,该锁会被开释,即便在该事件完全发送到从库的时候,该锁也会被开释。

在从库中,当复制开端时,从库就会新建从库I/O线程和从库的SQL线程进行复制处置。

从库I/O线程:当START SLAVE语句在从库开端施行之后,从库新建一个I/O线程,该线程连贯到主库并要求主库发送binlog里面的更新记载到从库上。 从库I/O线程读取主库的binlog导出线程发送的更新并拷贝这些更新到当地文件,其中包含relay log文件。

从库的SQL线程:从库新建一个SQL线程,这个线程读取从库I/O线程写到relay log的更新事件并施行。

综上所述,可知:

关于每一个主从复制的连贯,都有三个线程。具有多个从库的主库为每一个连贯到主库的从库新建一个binlog导出线程,每一个从库都有它本人的I/O线程和SQL线程。

从库通过新建两个独立的线程,使得在进行复制时,从库的读和写进行了别离。因而,即便负责施行的线程运转较慢,负责读取更新语句的线程并不会因而变得迟缓。比方说,要是从库有一段工夫没运转了,当它在此启动的时候,只管它的SQL线程施行比拼慢,它的I/O线程可以迅速地从主库里读取所有的binlog内容。这样一来,即便从库在SQL线程施行完所有读取到的语句前休止运转了,I/O线程也至少完全读取了所有的内容,并将其平安地备份在从库当地的relay log,随时预备在从库下一次启动的时候施行语句。

以上就是mysql主从复制道理有哪些的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有154人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板