我们大概可以分成三部分来解释
1。首先,主服务器将数据更改写入二进制日志。
2从服务器将主服务器的二进制日志文件复制到自己的中继日志中。
3从服务器重播中继日志中的事件,并更新您自己的相关数据。
下面详细解释一下。主服务器在更新包括插入、创建、删除等数据时,会将特定事件写入自己的二进制日志,即使特定操作出错,也会将相关事件写入自己的二进制日志,然后从服务器会主动将生成的二进制日志文件复制到主服务器,写入自己的中继日志。在这个过程中,从服务器将建立一个I/O线程。说白了,这个时候从服务器会建立一个客户端连接来主动连接主服务器,然后启动一个进程。该进程的功能是从主服务器的二进制日志中读取事件。当从服务器将主服务器的二进制日志文件复制到自己的中继日志文件中时,从服务器会启动一个线程来读取中继日志的内容并重放这些内容,从而起到同步主数据库的作用。这里需要注意的是,mysql复制是异步的,这意味着来自服务器的数据并不总是更新的,两者之间可能会有延迟,在大型数据库中可能是几秒、几分钟甚至几小时。哦,我的天啊!!
本文来自& 虚心求教博客