10bet网址
MySQL复制
相关的文档10bet官方网站 下载这个摘录
PDF (Ltr)- 1.8 mb
PDF (A4)- 1.8 mb


MySQL复制// 复制从源没有GTIDs GTIDs的复制品

2.3.6复制从源没有GTIDs GTIDs的复制品

从MySQL 8.0.23,您可以设置复制通道分配GTID复制事务,不已经有一个了。这个特性允许复制从源服务器没有启用GTIDs和不使用GTID-based复制,复制,GTIDs启用。如果可以复制源服务器上启用GTIDs,所述2.4节,“改变GTID模式”在网络服务器上,使用这种方法。此功能用于复制源服务器不能启用GTIDs。注意,为MySQL是标准的复制,这个功能不支持复制从MySQL源服务器早于先前版本系列,所以MySQL 5.7是最早支持MySQL 8.0副本。

您可以启用GTID任务复制通道使用ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS选择的改变复制源声明。当地的分配一个GTID包括自己的UUID(复制品server_uuid设置)。uuid分配一个GTID包括指定的UUID,等server_uuid设置复制源服务器。使用一个外地UUID让你区分交易起源于起源于源代码的副本和事务,事务之间的多源副本,它起源于不同的来源。如果发送的交易来源有GTID已经GTID留存。

重要的

一套副本ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS在任何渠道不能晋升为取代复制源服务器故障转移时是必需的,和一个备份副本不能用于恢复复制源服务器。同样的限制适用于更换或恢复使用的其他副本ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS在任何通道。

副本必须gtid_mode =对集,这之后不能修改,除非你删除ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS =对设置。如果副本服务器没有启用GTIDs和启动ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS设置任何复制通道的设置没有改变,但一个警告消息写入错误日志解释如何改变现状。

多源的复制品,你可以有一个混合使用的渠道ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS,不要和渠道。渠道特定组复制不能使用ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS异步复制,但渠道的服务器实例上另一个来源是一组复制组成员可以这样做。为一个通道组复制组的成员,不指定组复制组名称创建GTIDs的UUID。

使用ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS在复制通道并不等同于引入GTID-based复制通道。GTID集(gtid_executed从一套副本ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS不应该被转移到另一个服务器或与另一个服务器的gtid_executed设置。GTIDs分配给匿名交易,和你选择的UUID,只有自己的复制品使用的意义。例外是任何下游副本的副本你启用ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS,任何服务器创建从备份副本。

如果你设置任何下游副本,这些服务器没有ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS启用。只接受交易的副本直接从non-GTID源服务器需要ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS有关复制通道。在副本及其下游的副本,您可以比较GTID集,故障转移到另一个从一个复制品,并使用备份创建额外的副本,你会在任何GTID-based复制拓扑。ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS使用交易在哪里收到non-GTID服务器这一群体之外。

一个复制通道使用ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS有以下行为差异GTID-based复制:

  • GTIDs分配给应用时复制事务(除非他们已经有了一个GTID)。GTID通常会被分配在复制源服务器提交事务时,发送到副本和事务。多线程的复制品,这意味着GTIDs的顺序不一定匹配交易的秩序,即使slave-preserve-commit-order = 1是集。

  • SOURCE_LOG_FILESOURCE_LOG_POS选项的改变复制源语句用于位置复制I / O(接收器)线程,而不是SOURCE_AUTO_POSITION选择。

  • 集全球sql_replica_skip_counter集全球sql_slave_skip_counter语句用于跳过复制通道设置,事务ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS,而不是提交空交易的方法。说明,请参阅2.7.3部分,“跳过交易”

  • 直到SQL_BEFORE_GTIDSUNTIL_SQL_AFTER_GTIDS选项的开始复制声明不能用于通道。

  • 这个函数WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS ()从MySQL 8.0.18弃用,不能用的通道。它的替换WAIT_FOR_EXECUTED_GTID_SET (),整个服务器,可以用来等待任何下游副本的服务器ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS启用。等待通道ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS能赶上源,不使用GTIDs,使用SOURCE_POS_WAIT ()(从MySQL 8.0.26)或函数MASTER_POS_WAIT ()函数。

性能模式replication_applier_configuration表显示GTIDs是否分配给匿名交易复制通道,UUID是什么,无论是副本服务器的UUID (当地的)或用户指定的UUID (UUID)。灌肠器的信息也记录元数据存储库。一个重置所有复制品声明重置ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS设置,但重置副本声明中没有。