• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 使用全局事务标识符进行复制(GTID)

    本节说明使用全局事务标识符的基于事务的复制(GTID)。使用GTID时,每个事务都可以在提交到原始服务器上并由任何从属应用时进行标识和跟踪。这意味着在启动新的从属服务器或故障转移到新的主服务器时,不必使用GTID来引用日志文件或这些文件中的位置,从而极大地简化了这些任务。由于基于GTID的复制完全基于事务,因此可以轻松确定主服务器和从服务器是否一致。只要在主服务器上提交的所有事务也都在从服务器上提交,则可以保证两者之间的一致性。您可以对GTID使用基于语句的复制或基于行的复制(请参见“复制格式”);但是,为了获得最佳结果,我们建议您使用基于行的格式。

    GTID始终保留在主机和从机之间。这意味着您始终可以通过检查其从属日志来确定任何从属服务器上应用的任何事务的源。另外,一旦在给定服务器上提交了具有给定GTID的事务,该服务器将忽略具有相同GTID的任何后续事务。因此,在主服务器上提交的事务最多可以在从服务器上应用一次,这有助于确保一致性。

    本节讨论以下主题:

    • GTID的定义和创建方式以及它们在MySQL服务器中的表示方式(请参见“ GTID格式和存储”)。
    • GTID的生命周期(请参见“ GTID生命周期”)。
    • 自动定位功能,用于同步使用GTID的从机和主机(请参见“ GTID自动定位”)。
    • 设置和启动基于GTID的复制的一般过程(请参见“使用GTID设置复制”)。
    • 在使用GTID时配置新复制服务器的建议方法(请参见“使用GTID进行故障转移和横向扩展”)。
    • 使用基于GTID的复制时应注意的限制和限制(请参见“使用GTID进行复制的限制”)。
    • 可用于处理GTID的存储函数(请参见“用于操纵GTID的存储函数示例”)。

    有关与基于GTID的复制相关的MySQL Server选项和变量的信息,请参见“全局事务ID系统变量”。另请参见“与全局事务标识符(GTID)一起使用的函数”,它描述了MySQL 8.0支持与GTID一起使用的SQL函数。