Reputation: 41
I have active master - slave (ssl) replication. I installed maxscale, set a configuration, but maxscale cannot get gtid_binlog_pos
error : [mariadbmon] Can not select 'master' as a demotion target for failover because it does not have a 'gtid_binlog_pos' and unsafe failover is disabled.
Database: MariaDB 10.3.25 OS: Ubuntu 20.04
my config maxscale:
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
Upvotes: 3
Views: 2694
Reputation: 41
Problem found. The skip-networking = 0
variable was missing in the database configuration. By default, it was set to 1
. This meant that I could only connect via localhost.
But it's unclear how replication worked with skip-networking = 1
...
Upvotes: 1
Reputation: 2562
That error is logged whenever the replication isn't set up in a way that would allow safe failover to occur. This usually tells that there's something wrong with either the user the monitor is configured to use or that the replication was started in a way that isn't compatible with the automatic server management in MaxScale.
You can disable this safety check and force the monitor to create a simple topology by adding enforce_simple_topology=true
to the monitor definition.
Upvotes: 1