This is a read-only copy of the MariaDB Knowledgebase generated on 2024-11-15. For the latest, interactive version please visit https://mariadb.com/kb/.

MaxScale, "No Master can be determined"

Hi!

I am trying to use maxscale (2.2.15) with mariadb (10.2.15).

maxscale is running on ubuntu 16.04. (I tried to run maxscale also in a container, but similar problems occurred there also.) mariadb servers are in containers.

All are running on a single laptop.

I get an error when maxscale is started:

... oct 17 17:25:42 mycomputer maxscale[8973]: [MySQLAuth] Added user: INSERT OR REPLACE INTO mysqlauth_users VALUES ('maxscale', '127.0.0.1', 'mysql', 0, '...') oct 17 17:25:42 mycomputer maxscale[8973]: [MySQLAuth] Added user: INSERT OR REPLACE INTO mysqlauth_users VALUES ('maxscale', '<laptop_ip>', 'mysql', 0, '...') oct 17 17:25:42 mycomputer maxscale[8973]: [mariadbmon] No Master can be determined

I have tried to give different kinds of grants.

E.g.:

create user 'maxscale'@'127.0.0.1' identified by 'paswd';

grant SELECT on mysql.user to 'maxscale'@'127.0.0.1'; GRANT SELECT ON mysql.db TO 'maxscale'@'127.0.0.1'; GRANT SELECT ON mysql.tables_priv TO 'maxscale'@'127.0.0.1'; GRANT SELECT ON mysql.roles_mapping TO 'maxscale'@'127.0.0.1'; GRANT SHOW DATABASES ON *.* TO 'maxscale'@'127.0.0.1'; grant REPLICATION CLIENT on *.* to 'maxscale'@'127.0.0.1';

GRANT ALL PRIVILEGES ON *.* TO 'maxscale'@'127.0.0.%' IDENTIFIED BY 'paswd';

(Same with laptop IPs, ...)

Could only some correct grants be missing? Or something else?

I am testing only, so I could give some even more powerful / generic grants also. Just to get forward.

maxscale.cnf is below. Also output from maxadmin, list servers, is below.

BR Sam

Master Slave Slave

maxscale.cnf:

cat /etc/maxscale.cnf

[maxscale] threads=auto log_trace=1

[server1] type=server address=172.17.0.3 port=3306 protocol=MariaDBBackend

[server2] type=server address=172.17.0.4 port=3306 protocol=MariaDBBackend

[server3] type=server address=172.17.0.5 port=3306 protocol=MariaDBBackend

[WriteService] type=service router=readconnroute router_options=master servers=server1,server2,server3 user=maxscale passwd=paswd

[ReadService] type=service router=readconnroute router_options=slave servers=server1,server2,server3 user=maxscale passwd=paswd

[WriteListener] type=listener service=WriteService protocol=MariaDBClient port=4306 socket=/tmp/ClusterMaster

[ReadListener] type=listener service=ReadService protocol=MariaDBClient

  1. protocol=MySQLClient port=4307

[ReplicationMonitor] type=monitor

  1. module=galeramon module=mariadbmon servers=server1,server2,server3 user=maxscale passwd=paswd monitor_interval=1000

[CLI] type=service router=cli

[CLIListener] type=listener

maxadmin shows all of the servers, but all three only in "Running" state:

MaxScale> list servers Servers. -------------------+-----------------+-------+-------------+-------------------- Server | Address | Port | Connections | Status -------------------+-----------------+-------+-------------+-------------------- server1 | 172.17.0.3 | 3306 | 0 | Running server2 | 172.17.0.4 | 3306 | 0 | Running server3 | 172.17.0.5 | 3306 | 0 | Running -------------------+-----------------+-------+-------------+--------------------

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.