Toy project to play with MariaDB Galera Cluster.
docker-compose run --rm db2 mysql_install_db --datadir=/var/lib/mysql
docker-compose run --rm db3 mysql_install_db --datadir=/var/lib/mysql
docker-compose up -d db1
docker-compose logs -f
# wait for `[Note] WSREP: Synchronized with group, ready for connections'
^C
docker-compose up -d
./gradlew flywayMigrate clean test -i
mariadbplayground.MariaDbTest > loadbalance STANDARD_OUT
jdbc:mariadb:loadbalance://127.0.0.1:13306,127.0.0.1:13307,127.0.0.1:13308/test
0-0: db3
0-1: db3
1-0(ReadOnly): db2
1-1(ReadOnly): db2
2-0: db3
2-1: db3
3-0(ReadOnly): db3
3-1(ReadOnly): db3
4-0: db1
4-1: db1
5-0(ReadOnly): db3
5-1(ReadOnly): db3
6-0: db2
6-1: db2
7-0(ReadOnly): db3
7-1(ReadOnly): db3
8-0: db2
8-1: db2
9-0(ReadOnly): db1
9-1(ReadOnly): db1
mariadbplayground.MariaDbTest > failover STANDARD_OUT
jdbc:mariadb:failover://127.0.0.1:13306,127.0.0.1:13307,127.0.0.1:13308/test
0-0: db2
0-1: db2
1-0: db3
1-1: db3
2-0: db3
2-1: db3
3-0: db3
3-1: db3
4-0: db2
4-1: db2
5-0: db2
5-1: db2
6-0: db1
6-1: db1
7-0: db1
7-1: db1
8-0: db3
8-1: db3
9-0: db3
9-1: db3
mariadbplayground.MariaDbTest > sequential STANDARD_OUT
jdbc:mariadb:sequential://127.0.0.1:13306,127.0.0.1:13307,127.0.0.1:13308/test
0-0: db1
0-1: db1
1-0: db1
1-1: db1
2-0: db1
2-1: db1
3-0: db1
3-1: db1
4-0: db1
4-1: db1
5-0: db1
5-1: db1
6-0: db1
6-1: db1
7-0: db1
7-1: db1
8-0: db1
8-1: db1
9-0: db1
9-1: db1
mariadbplayground.MariaDbTest > replication STANDARD_OUT
jdbc:mariadb:replication://127.0.0.1:13306,127.0.0.1:13307,127.0.0.1:13308/test
0-0: db1
0-1: db1
1-0(ReadOnly): db2
1-1(ReadOnly): db2
2-0: db1
2-1: db1
3-0(ReadOnly): db2
3-1(ReadOnly): db2
4-0: db1
4-1: db1
5-0(ReadOnly): db2
5-1(ReadOnly): db2
6-0: db1
6-1: db1
7-0(ReadOnly): db3
7-1(ReadOnly): db3
8-0: db1
8-1: db1
9-0(ReadOnly): db2
9-1(ReadOnly): db2
mariadbplayground.MariaDbTest > none STANDARD_OUT
jdbc:mariadb:none://127.0.0.1:13306,127.0.0.1:13307,127.0.0.1:13308/test
0-0: db1
0-1: db1
1-0(ReadOnly): db1
1-1(ReadOnly): db1
2-0: db1
2-1: db1
3-0(ReadOnly): db1
3-1(ReadOnly): db1
4-0: db1
4-1: db1
5-0(ReadOnly): db1
5-1(ReadOnly): db1
6-0: db1
6-1: db1
7-0(ReadOnly): db1
7-1(ReadOnly): db1
8-0: db1
8-1: db1
9-0(ReadOnly): db1
9-1(ReadOnly): db1
Gradle Test Executor 17 finished executing tests.
You can check failover behavior by setting a breakpoint nd docker-compose stop dbX
.