• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 位置: MySQL 8 中文手册 -> MySQL 复制数据

    复制实施

    复制基于主服务器,在其二进制日志中跟踪其数据库的所有更改(更新,删除等)。二进制日志充当所有事件的书面记录,从服务器启动之日起,所有事件都会修改数据库的结构或内容(数据)。通常,SELECT不记录语句,因为它们既不修改数据库结构也不修改内容。

    连接到主服务器的每个从服务器都请求二进制日志的副本。也就是说,它从主机提取数据,而不是主机将数据推送到从机。从站还从接收到的二进制日志中执行事件。这具有重复原始更改的效果,就像在母版上所做的一样。根据最初在主数据库上所做的更改,创建表或修改表的结构,并插入,删除和更新数据。

    因为每个从站都是独立的,所以从主机的二进制日志中重放更改的操作独立于连接到主机的每个从站。另外,由于每个从属服务器仅通过向主服务器请求才接收二进制日志的副本,因此从属服务器能够按自己的步调读取和更新数据库副本,并且可以随意启动和停止复制过程而不会影响能够在主端或从端更新到最新的数据库状态。

    有关复制实现的详细信息,请参见“复制实现的详细信息”。

    主服务器和从服务器会定期报告有关复制过程的状态,以便您可以对其进行监视。有关所有与复制相关的状态的描述,请参见“检查线程信息”。

    在处理之前,将主二进制日志写入从属服务器上的本地中继日志。从站还通过主站的二进制日志和本地继电器日志记录有关当前位置的信息。请参见“复制中继和状态日志”。

    根据一组规则过滤从属数据库上的数据库更改,这些规则根据各种配置选项和控制事件评估的变量应用。有关如何应用这些规则的详细信息,请参见“服务器如何评估复制过滤规则”。