maxscale 找不到 gtid_binlog_pos

maxscale cannot find gtid_binlog_pos

我有活动的主从 (ssl) 复制。我安装了maxscale,设置了一个配置,但是maxscale无法获取gtid_binlog_pos

错误:[mariadbmon] 不能 select 'master' 作为故障转移的降级目标,因为它没有 'gtid_binlog_pos' 并且不安全的故障转移被禁用。

数据库:MariaDB 10.3.25 OS: Ubuntu 20.04

我的配置最大比例:

threads=auto
log_info=1
log_debug=1
logdir=/opt/sslmaxscale/maxscale.log

[master]
type=server
address=192.168.89.234
port=3306
protocol=MariaDBBackend
ssl=required
ssl_ca_cert=/opt/sslmaxscale/ca-cert.pem
ssl_cert=/opt/sslmaxscale/server-cert.pem
ssl_key=/opt/sslmaxscale/server-key.pem

[slave]
type=server
address=192.168.89.231
port=3306
protocol=MariaDBBackend
ssl=required
ssl_ca_cert=/opt/sslmaxscale/ca-cert.pem
ssl_cert=/opt/sslmaxscale/server-cert.pem
ssl_key=/opt/sslmaxscale/server-key.pem

[MariaDB-Monitor]
type=monitor
module=mariadbmon
servers=master,slave
user=repl
password=password
monitor_interval=2000
auto_rejoin=true
auto_failover=true
replication_master_ssl=true ```

Ssl connection in mysql working, i checked it. And gtid_binlog_pos i can got


MariaDB [(none)]> SELECT @@global.gtid_binlog_pos;  @@global.gtid_binlog_pos - 1-1-517                  

只要没有以允许安全故障转移发生的方式设置复制,就会记录该错误。这通常表明监视器配置使用的用户有问题,或者复制的启动方式与 MaxScale 中的自动服务器管理不兼容。

您可以通过将 enforce_simple_topology=true 添加到监视器定义来禁用此安全检查并强制监视器创建简单拓扑。

发现问题。数据库配置中缺少 skip-networking = 0 变量。默认情况下,它设置为 1。这意味着我只能通过本地主机连接。

但尚不清楚复制如何使用 skip-networking = 1...