共计 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 行业资讯频道。