为MariaDB Galera配置从属复制

为MariaDB Galera配置从属复制,mariadb,replication,galera,Mariadb,Replication,Galera,MariaDB 10.2.10+Centos 7 我已经用HAProxy配置了MariaDB Galera集群,并成功地进行了测试 对于备份,我想为Galera群集添加一个异步复制从机,但失败了 以下是我的行动: 所有galera集群操作完成后,我在每个galera节点的/etc/my.cnf.d/server.cnf的[mysqld]部分添加了以下配置: [mysqld] log_bin log_slave_updates gtid_strict_mode server_id=1 [gale

MariaDB 10.2.10+Centos 7

我已经用HAProxy配置了MariaDB Galera集群,并成功地进行了测试

对于备份,我想为Galera群集添加一个异步复制从机,但失败了

以下是我的行动:

所有galera集群操作完成后,我在每个galera节点的
/etc/my.cnf.d/server.cnf的
[mysqld]部分添加了以下配置:

[mysqld]
log_bin
log_slave_updates
gtid_strict_mode
server_id=1
 [galera]
wsrep_gtid_mode
[mysqld]
binlog_format=ROW
log_bin
log_slave_updates
server_id=2
gtid_strict_mode
并在每个从属节点的
/etc/my.cnf.d/server.cnf的
[mysqld]部分下添加了以下配置:

[mysqld]
log_bin
log_slave_updates
gtid_strict_mode
server_id=1
 [galera]
wsrep_gtid_mode
[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开始,这是错误的 不在主人的日志里


如果您有任何建议,我将不胜感激。

经过研究,我修改了上述设置:

在Galera群集的每个节点上,它们具有相同的域id和不同的服务器id:

[mysqld]
log_bin
log_slave_updates
gtid_strict_mode
gtid_domain_id=1
server_id=1
 [galera]
wsrep_gtid_mode
[mysqld]
binlog_format=ROW
log_bin
log_slave_updates
gtid_domain_id=2
server_id=2
在从属节点上,从属节点具有不同的域id和服务器id:

[mysqld]
log_bin
log_slave_updates
gtid_strict_mode
gtid_domain_id=1
server_id=1
 [galera]
wsrep_gtid_mode
[mysqld]
binlog_format=ROW
log_bin
log_slave_updates
gtid_domain_id=2
server_id=2
然后执行mysqldump out和mysql import,最后一次运行

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;
一切顺利

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

@Winson He

这个解释是错误的。其内容应如下: galera节点1、2、3=>每个节点具有相同的域ID和唯一的服务器ID

从属节点=>不同的域ID和唯一的服务器ID


因此,事实上,无论群集/主/从,所有服务器都具有唯一的服务器id,Galera群集节点将具有相同的域id,而从节点位于不同的域id。

我怀疑应该只告诉一个节点一个异步从节点。是的。在异步从节点上,我将master_地址设置为galera集群的一个节点。我写错了评论。在galera集群中,它应该是相同的域id和不同的服务器id。谢谢你指出这一点。