在单主组复制中将 MySQL Router 与 MySQL Server 结合使用

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

我们使用 MySQL Server 8,在单主模式下以组复制方式使用三个节点。服务器运行在windows下。为了与服务器通信,我们使用 MySQL Router 8。

问题是,路由器不知道三个节点中哪一个可以写入。因此,提示符总是有可能返回“MySQL 服务器正在使用 --super-read-only 选项运行”。

如何正确配置路由器以将所有写入命令发送到实际的捐赠服务器?如果这是不可能的,是否有办法配置始终使用主服务器的第二个路由器?

编辑: 这是mysqlrouter.conf的内容:

[DEFAULT]
user = routing
logging_folder = D:\MySQL Router\logs

max_total_connections = 1500

[routing:primary]
bind_address = db.lan
bind_port = 3306
destinations = db03.lan:3306, db04.lan:3306, db05.lan:3306
routing_strategy = round-robin
mysql router mysql-group-replication
2个回答
0
投票

给大家提供一下节点3下MGR单主模式的参考配置:

[DEFAULT]
config_folder = /etc/mysqlrouter
logging_folder = /usr/local/mysqlrouter/log
runtime_folder = /var/run/mysqlrouter

[logger]
level = INFO

[routing:slaves]
bind_address = 192.168.100.21:7001
destinations = 192.168.100.23:3306,192.168.100.24:3306
mode = read-only
connect_timeout = 1

[routing:masters]
bind_address = 192.168.100.21:7002
destinations = 192.168.100.22:3306
mode = read-write
connect_timeout = 2

mysql路由器:192.168.100.21 主控:192.168.100.22 从机:192.168.100.23/24


0
投票

您还可以为路由器创建元数据缓存。这允许您将主要角色和次要角色分配到单个目标。这样每个路由器都知道当前的集群拓扑,因此也知道当前的主节点。

您可以手动设置它,但我通常在集群节点上使用 MySQL Shell 来实现此目的。

有关参考,请参阅此路由器配置

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