Mysql的复制原理以及过程是怎样的

54次阅读
没有评论

共计 887 个字符,预计需要花费 3 分钟才能阅读完成。

本篇文章为大家展示了 Mysql 的复制原理以及过程是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

Mysql 的复制原理以及流程

(1)复制的基本原理流程,3 个线程以及之间的关联。

Mysql 内建的复制功能是构建大型,高性能应用程序的基础。将 Mysql 的数据分布到多个系统上去,这种分布的机制,是通过将 Mysql 的某一台主机的数据复制到其他主机(slave)上,并重新执行一遍来实现的。复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接到主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。

3 个线程:

首先,slave 开始一个工作线程 —–I/ O 线程。I/ O 线程在 master 上打开一个普通的连接,然后开始 binlog dump process。binlog dump process  从 master 的二进制日志中读取事件,如果已经跟上了 master,它会睡眠并等待 master 产生新的事件。I/ O 线程将这些事件写入中继日志。

SQL slave thread(SQL 从线程)处理该过程的最后一步。SQL 线程从中继日志读取事件而更新 slave 的数据,使其与 master 中的数据一致。只要该线程与 I / O 线程保持一致,中继日志通常会位于 OS 的缓存中,所以中继日志的开销很小。

      此外,在 master 中也有一个工作线程:和其他 Mysql 的连接一样,slave 在 master 中打开一个连接也会使得 master 开始一个线程。复制过程有一个很重要的限制 —– 复制在 slave 上是串行化的,也就是说 master 上的并行更新操作不能在 slave 上并行操作。 

上述内容就是 Mysql 的复制原理以及过程是怎样的,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-19发表,共计887字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)