我正在尝试使用galera集群(选择1个节点作为主主)和一个独立的mariadb服务器(从服务器)来设置主从复制。
我已经成功地设置了复制和数据同步。
但是,当我从从节点检查gtid_binlog_pos时,它显示的是0-1-2 (主主的binlog )和99-2-2 (从节点本身的binlog )。
这是否正常,这意味着什么?
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:
[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:
[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发布于 2021-12-02 12:27:18
是的,这看起来对您的配置是正确的。
来自MariaDB GTID文件:
全局事务ID,简称GTID,由三个数字组成,用破折号'-‘分隔。例如: 0-1-10
服务器ID设置为事件组首次登录到binlog的服务器的服务器ID。服务器上记录的每个事件组的序列号都会增加。因为服务器ID必须对每个服务器都是唯一的,这使得(server_id,sequence_number)对,从而使整个GTID全局唯一。
https://dba.stackexchange.com/questions/303382
复制相似问题