{"id":20389021,"url":"https://github.com/erasys/mariadb-ha-test","last_synced_at":"2026-05-09T18:46:37.339Z","repository":{"id":146878877,"uuid":"125240007","full_name":"erasys/mariadb-ha-test","owner":"erasys","description":"A docker-compose environment to test a MariaDB HA cluster with master-slave replication","archived":false,"fork":false,"pushed_at":"2018-03-16T16:49:38.000Z","size":9,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-04T23:44:01.662Z","etag":null,"topics":["mariadb","maxscale","replication-manager","test"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/erasys.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-14T16:12:21.000Z","updated_at":"2023-05-07T12:28:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"d1f23021-e24c-4a7c-a3e4-0950cd045368","html_url":"https://github.com/erasys/mariadb-ha-test","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/erasys/mariadb-ha-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erasys%2Fmariadb-ha-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erasys%2Fmariadb-ha-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erasys%2Fmariadb-ha-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erasys%2Fmariadb-ha-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erasys","download_url":"https://codeload.github.com/erasys/mariadb-ha-test/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erasys%2Fmariadb-ha-test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32831502,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mariadb","maxscale","replication-manager","test"],"created_at":"2024-11-15T03:14:40.280Z","updated_at":"2026-05-09T18:46:37.312Z","avatar_url":"https://github.com/erasys.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MariaDB HA Test Setup\n\nThis project provides a docker-compose setup to spawn two independent MariaDB clusters, each\nwith 4 nodes in a single master \u0026 multiple slaves setup, and one additional warehouse\ndatabase which replicates from both clusters using multisource replication.\n\nIt uses [MariaDB MaxScale](https://mariadb.com/products/technology/maxscale) as access proxy\nand the [Signal18 Replication Manager](https://signal18.io/products/srm) to handle failover.\n\nA instance of PHPMyAdmin is included for convenience.\n\n## Usage\n\nTo launch, just run\n\n```sh\ndocker-compose up -d\n```\n\nThis will spawn all MariaDB instances, MaxScale and Replication Manager, and calls a setup\nscript (located at `setup/setup.sh`) which creates permissions, sets up initial replication\nin the clusters and the warehouse and creates some database tables to use.\n\nTo stop, do\n\n```sh\ndocker-compose down -v\n```\n\n## Default configuration \u0026 exposed ports\n\nThe MaxScale container is configured to use the `readwritesplit` router. It exposes cluster\nA on host level at port `3306` and cluster B on port `3307`. If you want to connect with the\nmysql cli from your host, be sure to use `127.0.0.1` as hostname instead of `localhost`,\notherwise the cli tries to connect via a socket.\n\nMaxScale's MaxAdmin API is exposed on `localhost:6603`, but it's also possible to call\nmaxadmin in the container with \n\n```sh\ndocker-compose exec maxscale maxadmin\n```\n\nThe web interface of Replication Manager can be accessed at http://localhost:10001 \n\nThere's a command `stress/create-load.sh` to be executed on the host to write data to the two\nclusters.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferasys%2Fmariadb-ha-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferasys%2Fmariadb-ha-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferasys%2Fmariadb-ha-test/lists"}