MySQL多个GTID执行GTID设置

问题描述 投票:0回答:2

我相信我在从站上的 MySQL 复制方面遇到了一些问题。 “执行的 GTID 集”下不是一个干净的 GTID,而是多个 GTID。

Retrieved_Gtid_Set: 54206435-24c7-11e5-bd59-1458d055bee8:354806-354826
Executed_Gtid_Set: 54206435-24c7-11e5-bd59-1458d055bee8:1-354826, cd975336-24c7-11e5-bd5c-1458d04f9808:1-24

我已经尝试过从属重置全部,但这似乎并没有清除它。

有人见过这个吗?解决这个问题的最佳方法是什么?

提前致谢

mysql replication gtid
2个回答
1
投票

这里没有什么可解决的。这些只是不同服务器的GTID。

GTID 的第一部分是 UUID(唯一通用 ID,或类似的东西,IIRC)。

54206435-24c7-11e5-bd59-1458d055bee8:354806-354826
<........host......................>:<...GTIDs...>

我猜测,这些是来自主服务器的 GTID 和执行的 GTID 集中的本地主机。

当您在从属设备上执行

show slave status\G
时,还会出现这样一行:

Master_UUID: ee624d91-76da-11e4-8f3a-ecf4bbce03bc

它告诉你master的UUID。在master上你可以做

root@localhost:(none) > show slave hosts;
+-----------+------+------+-----------+--------------------------------------+
| Server_id | Host | Port | Master_id | Slave_UUID                           |
+-----------+------+------+-----------+--------------------------------------+
|         2 |      | 3306 |         1 | c5ca7103-2eb7-11e5-be29-0050569b085a |
+-----------+------+------+-----------+--------------------------------------+

总的来说,一切正常。这些很可能是来自您的主服务器的 GTID 以及您在从服务器上执行的一些语句。


0
投票

Gtids 创建为:

唯一标识交易。
这里,检索到的 gtid 是通过复制而来的 GTID 事务集(构成中继日志的 txns)。因此,如果您从多个主服务器进行复制,retreived_gtid_set 也可以是多个。

同样,执行的gtid是在服务器上执行的gtid的集合。这包括:

  1. 来自复制的事务
  2. 在本地服务器本身上执行的事务。

由于多个服务器具有不同的唯一 uuid,因此通常有多个 gtid 集,以便识别哪组事务来自哪个服务器。

服务器uuid可以在mysql数据目录的auto.cnf文件中找到

© www.soinside.com 2019 - 2024. All rights reserved.