为MariaDB Galera配置从属复制

aiqt4smr  于 2022-11-08  发布在  其他
关注(0)|答案(3)|浏览(156)

10.2.10+第七章.
我已经使用HAProxy配置了MariaDB Galera集群,并且测试成功。
对于备份,我想为Galera群集添加一个异步复制从属服务器,但失败了。
下面是我的行动:
在所有galera集群操作完成后,我在每个galera节点的/etc/my.cnf.d/server.cnf's [mysqld]部分添加了以下配置:

[mysqld]
log_bin
log_slave_updates
gtid_strict_mode
server_id=1
 [galera]
wsrep_gtid_mode

并在每个从节点的/etc/my.cnf.d/server.cnf's [mysqld]部分下添加了以下配置:

[mysqld]
binlog_format=ROW
log_bin
log_slave_updates
server_id=2
gtid_strict_mode

后来创建了一个用户进行复制,并在一个galera节点上执行mysqldump输出,在从节点上执行导入。
接着又跑过来对奴才道:

stop slave; change master to master_host='one galera node name ',master_port=3306,master_user='repl_user',master_password='repl_password',master_use_gtid=current_pos; start slave;

但失败。错误消息为:
从二进制日志中读取数据时,从主服务器收到致命错误1236:'错误:连接从属请求从GTID 0-2-11启动,它不在主的binlog中'
你有什么建议,如果有的话,非常感谢。

mwecs4sa

mwecs4sa1#

经过研究,我修改了上面提到的设置:
在Galera群集的每个节点上,它们具有相同的域ID和不同的服务器ID:

[mysqld]
log_bin
log_slave_updates
gtid_strict_mode
gtid_domain_id=1
server_id=1
 [galera]
wsrep_gtid_mode

在从节点上,从节点具有不同的域ID和服务器ID:

[mysqld]
binlog_format=ROW
log_bin
log_slave_updates
gtid_domain_id=2
server_id=2

然后执行mysqldump输出和mysql导入,最后一次运行

change master to master_host='one galera node name',master_port=3306, master_user='repl_user',master_password='aa',master_use_gtid=current_pos;
start slave;

一切顺利。
当我添加数据库或表或将数据插入一个表时,它可以同步到从节点。

axzmvihb

axzmvihb2#

@何文生
这个解释是错误的。2它应该是:galera node 1,2,3 =〉每个节点的域ID和服务器ID都相同。
从属节点=〉不同的域ID和唯一的服务器ID。
因此,事实上,无论集群/主/从,所有服务器都有一个唯一的server_id,Galera集群节点将有相同的domain_id,而从节点位于不同的domain_id。

gtlvzcf8

gtlvzcf83#

在异步从节点上,因为我们将master_address设置为galera集群的一个节点。如果该特定节点出现故障,则从复制将停止。如何确保即使一个节点出现故障,从复制也会从其他现有主节点发生。请提供建议

相关问题