maxscale 找不到 gtid_binlog_pos

问题描述

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

错误:[mariadbmon] 无法选择“master”作为故障转移的降级目标,因为它没有“gtid_binlog_pos”并且不安全的故障转移被禁用。

数据库:MariaDB 10.3.25 操作系统: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                  

解决方法

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

但不清楚复制如何与 skip-networking = 1 一起工作...

,

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...