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
- protocol=MySQLClient port=4307
[ReplicationMonitor] type=monitor
- 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 -------------------+-----------------+-------+-------------+--------------------