Skip to content
目录概览

请说一下MySQL的复制原理以及流程。

MySQL内建的复制功能是构建大型,高性能应用程序的基础。将 MySQL 的数据分布到多个系统上去,这种分布的机制,是通过将 Mysql 的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的。

复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。

当一个从服务器连接主服务器时,它通知主服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。

复制过程如下

  1. 主服务器把更新记录到二进制日志文件中;
  2. 从服务器把主服务器的二进制日志拷贝到自己的中继日志(replay log)中;
  3. 从服务器重做中继日志中的时间,把更新应用到自己的数据库上。