首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gtid_binlog_pos变量包含两个值

gtid_binlog_pos变量包含两个值
EN

Database Administration用户
提问于 2021-12-02 07:18:48
回答 1查看 468关注 0票数 1

我正在尝试使用galera集群(选择1个节点作为主主)和一个独立的mariadb服务器(从服务器)来设置主从复制。

我已经成功地设置了复制和数据同步。

但是,当我从从节点检查gtid_binlog_pos时,它显示的是0-1-2 (主主的binlog )和99-2-2 (从节点本身的binlog )。

这是否正常,这意味着什么?

代码语言:javascript
复制
MariaDB [testdb]> show variables like 'gtid%';
+-------------------------+--------------+
| Variable_name           | Value        |
+-------------------------+--------------+
| gtid_binlog_pos         | 0-1-2,99-2-2 |
| gtid_binlog_state       | 0-1-2,99-2-2 |
| gtid_cleanup_batch_size | 64           |
| gtid_current_pos        | 0-1-2,99-2-2 |
| gtid_domain_id          | 99           |
| gtid_ignore_duplicates  | OFF          |
| gtid_pos_auto_engines   |              |
| gtid_seq_no             | 0            |
| gtid_slave_pos          | 0-1-2        |
| gtid_strict_mode        | OFF          |
+-------------------------+--------------+

下面是我的配置文件:主主/etc/my.cnf.d/replication.cnf

代码语言:javascript
复制
[mysqld]
# Galera node as master
wsrep_gtid_mode      = on
wsrep_gtid_domain_id = 0

server-id          = 01
log_slave_updates  = on
relay-log-index    = /var/log/mysql/gmariadb01-relay-bin.index
relay-log          = /var/log/mysql/gmariadb01-relay-bin
gtid_domain_id     = 1
log-bin            = /var/log/mysql/gmariadb01-bin
log-bin-index      = /var/log/mysql/gmariadb01-bin.index
binlog_format      = ROW
log_error          = /var/log/mysql/mariadb.err

replicate-do-db    = testdb

/etc/my.cnf.d/replication.cnf

代码语言:javascript
复制
[mysqld]
#Replication slave to Galera Cluster
server-id          = 02
log_slave_updates  = on
relay-log-index    = /var/log/mysql/gmariadb03-relay-bin.index
relay-log          = /var/log/mysql/gmariadb03-relay-bin
gtid_domain_id     = 99
log-bin            = /var/log/mysql/gmariadb03-bin
log-bin-index      = /var/log/mysql/gmariadb03-bin.index
binlog_format      = ROW
log_error          = /var/log/mysql/mariadb.err

replicate-do-db    = testdb
EN

回答 1

Database Administration用户

发布于 2021-12-02 12:27:18

是的,这看起来对您的配置是正确的。

来自MariaDB GTID文件

全局事务ID,简称GTID,由三个数字组成,用破折号'-‘分隔。例如: 0-1-10

  • 第一个数字0是域ID,它是特定于全局事务ID的(下面将详细介绍)。它是一个32位的无符号整数.
  • 第二个数字是服务器ID,与在旧样式复制中使用的相同.它是一个32位的无符号整数.
  • 第三个数字是序列号。这是一个64位无符号整数,对于登录到binlog的每个新事件组都是单调增加的。

服务器ID设置为事件组首次登录到binlog的服务器的服务器ID。服务器上记录的每个事件组的序列号都会增加。因为服务器ID必须对每个服务器都是唯一的,这使得(server_id,sequence_number)对,从而使整个GTID全局唯一。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/303382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档