Search code examples
mysqlsslproxymariadbmaxscale

maxscale cannot find gtid_binlog_pos


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                  

Solution

  • 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...