通常在数据库中,我们遵循着二八原则,也就是增加、修改、删除占据数据库操作中的20%,而数据库的查询则占据了数据库操作的80%。所以基于此现象,我们通常会对数据库进行读写分离。也就是将数据库的功能进行分离,主数据库用于写操作,从数据库用于读操作,一般来说,从数据库我们会准备更多从数据库以分散数据库的压力。下面描述了数据库的主从复制的过程:

Mysql的读写分离和主从复制过程概述_mysql
  主服务器上的任何修改都会通过自己的I/O线程保存到二级制日志文件Binary Log中,从服务器上也会启动一个I/O线程,通过配置好的用户名和密码,连接到主服务器上面请求读取二进制日志,然后将读取到的二进制日志写到本地的一个Replay Log(中继日志)里面。

  从服务器上面同时开启一个SQL 线程定时检查Realy Log,如果发现有更新,则立即将更新的内容在本机的数据库上面执行一遍。

  每个从服务器都会收到主服务器二进制日志的全部内容的副本。