10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 41.5 mb
PDF (A4)- 41.6 mb
手册页(TGZ)- 262.2 kb
手册页(邮政编码)- 372.3 kb
信息(Gzip)- 4.0 mb
信息(邮政编码)- 4.0 mb
本手册摘录

17.2.3复制线程

MySQL复制功能是使用三个主要线程,实现一个源服务器上和两个副本:

  • 二进制日志转储线程。源创建一个线程来发送二进制日志内容的副本复制连接。这个线程的输出可以被识别显示PROCESSLIST源的Binlog转储线程。

    二进制日志转储线程获得锁定源的二进制日志阅读每个事件被发送到副本。一旦事件被读取,锁被释放,甚至在事件被发送到副本。

  • 复制的I / O的线程。当一个开始复制复制服务器上发布声明,副本创建一个I / O的线程,它连接到源和要求发送更新记录的二进制日志。

    复制的I / O的线程读取更新源的Binlog转储线程发送(见以前的项目)并将它们复制到本地文件包含副本的中继日志。

    这个线程的状态显示为Slave_IO_running在输出的显示奴隶状态

  • SQL复制线程。副本创建一个SQL线程读取继电器所写的日志复制I / O的线程并执行事务中包含它。

有三个主要为每个源/复制连接线程。源,有多个副本创建一个二进制日志转储每个当前连接的线程副本,和每个副本都有自己的复制I / O和SQL线程。

复制品使用两个线程独立阅读更新从源和成独立执行任务。因此,阅读事务的任务不是放慢如果运用的过程是缓慢的。例如,如果副本服务器尚未运行,其I / O的线程可以快速获取所有二进制日志内容从源复制开始时,即使远远落后于SQL线程。如果SQL之前的副本停止线程执行所有获取的语句,I / O的线程至少获取一切这样一个安全交易的副本存储在本地副本的中继日志,准备执行下一次副本开始。

您可以启用进一步并行任务副本通过设置系统变量replica_parallel_workers(从MySQL 8.0.26)或slave_parallel_workers(MySQL 8.0.26之前)为大于0的值(默认)。当这个系统变量设置,指定数量的副本创建工作线程应用事务,加上一个协调员线程来管理它们。如果您使用多个复制通道,每个通道都有这个数量的线程。一个副本replica_parallel_workersslave_parallel_workers设置为大于0的值称为一个多线程的复制品。使用此设置,可以重试失败的事务。

请注意

目前不支持多线程副本NDB集群,默默地忽略了设置这个变量。看到部分23.7.3,“NDB集群复制已知问题”为更多的信息。