Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql rpl\u半同步\u主同步\u等待\u点,同步后?_Mysql_Replication - Fatal编程技术网

Mysql rpl\u半同步\u主同步\u等待\u点,同步后?

Mysql rpl\u半同步\u主同步\u等待\u点,同步后?,mysql,replication,Mysql,Replication,在同步之后,主服务器等待从服务器确认事务接收。在收到确认后,主服务器将事务提交到存储引擎并将结果返回给客户端。我想知道从服务器何时提交?从服务器在任何时候都会提交,这可能在几毫秒之内,但如果从服务器滞后,也可能需要相当长的时间,因为它超载或动力不足,或者因为进程在从属上获得了锁,导致更新等待锁 半同步复制仅通过确保至少有一个从机保存了(而不是执行)事务的副本,从而保证不丢失任何事务 一旦任何从属服务器上的复制IO_线程接收到复制事件并将其写入磁盘上的中继日志,并将此事实确认回主服务器,数据就不会

在同步之后,主服务器等待从服务器确认事务接收。在收到确认后,主服务器将事务提交到存储引擎并将结果返回给客户端。我想知道从服务器何时提交?

从服务器在任何时候都会提交,这可能在几毫秒之内,但如果从服务器滞后,也可能需要相当长的时间,因为它超载或动力不足,或者因为进程在从属上获得了锁,导致更新等待锁

半同步复制仅通过确保至少有一个从机保存了(而不是执行)事务的副本,从而保证不丢失任何事务

一旦任何从属服务器上的复制
IO_线程
接收到复制事件并将其写入磁盘上的中继日志,并将此事实确认回主服务器,数据就不会出现任何单一故障丢失

从属服务器仅在事件写入其中继日志并刷新到磁盘后才确认收到事务的事件

从属
SQL_线程
读取
IO_线程
写入中继日志的事件,并将其应用于从属的数据集,但此部分是一个完全异步的过程,不提供半同步逻辑的反馈


如果您需要从机立即同步,以便对刚刚写入主机的数据进行读取查询,那么本机复制—无论是异步(常规)复制还是半同步复制都不提供这种功能。如果这正是您所需要的,那么您就需要它,它使复制真正同步(并使群集中的所有服务器都成为可写主机)

那么,从机将在同步日志后提交事务,不等待主机提交吗?