Releases: ProxySQL/dbdeployer
v2.2.1
v2.2.1 — InnoDB Cluster & CI Reliability Fixes
This release fixes critical issues with InnoDB Cluster deployment and improves CI reliability across all topologies.
InnoDB Cluster — Complete Rework
InnoDB Cluster deployment was fundamentally broken in v2.2.0. This release rewrites the initialization flow so it works correctly end-to-end with both MySQL 8.4 and 9.5.
-
Let MySQL Shell manage Group Replication from scratch — The previous approach pre-started GR via
initialize_nodesand then tried to havemysqlshadopt it, which caused infinite loops ("unmanaged replication group"), access denied errors, and errant GTID conflicts. Nowinit_clusterhandles everything: reset GTIDs, configure all instances, create the cluster, and add replicas. (aa12a0c) -
Fix
mysqlshinstallation (missinglibexec/directory) —mysqlshrequireslibexec/mysqlsh/alongsidelib/mysqlsh/to start. Without it:"libexec folder not found, shell installation likely invalid". (c62b470) -
Remove invalid
--interactiveflag —dba configure-instancein CLI mode (--) does not support--interactive, causing"The following option is invalid: --interactive". (aa12a0c)
MySQL Router
-
Fix Router start hanging forever —
RunCmd(start.sh)blocked indefinitely because the backgroundedmysqlrouterprocess inherited stdout/stderr pipes, preventing Go'scmd.Wait()from returning. Now launchesmysqlrouterdirectly viaexec.Command().Start(). (2cc282d) -
Fix Router port extraction in CI —
ls file && grep filecaptured both the file path and the port number into the variable, causingmysqlto receive a multi-line value as the port. (1481128)
ProxySQL + InnoDB Cluster
-
Fix
--with-proxysqlfor InnoDB Cluster topology — ProxySQL setup used the standard replication path (rsandbox_*/master/) but InnoDB Cluster usesic_msb_*/node1/as the primary. Added topology-aware path resolution. (417b262) -
Fix ProxySQL GR monitor seeing all nodes as offline — The
rsandboxmonitor user lackedSELECTonperformance_schema, so ProxySQL couldn't queryreplication_group_membersto determine writer/reader roles. All servers ended up in the offline hostgroup (3), causing"Max connect timeout reached while reaching hostgroup 0". (4ed75c5)
Fan-in & Multi-Source Replication
- Fix fan-in
Unknown databaseerror — In fan-in topology, node1 and node2 are independent masters. Creating the same database on both caused replication conflicts on the slave. Now uses separate databases per master (fanin_testvsfanin_test2). (a76d93a)
CI Reliability
-
Replace
sleep+ single-check with retry loops — All replication verification steps now retry up to 10 times with 2-second intervals instead of relying on a fixed sleep. (9304310) -
Fix
set -ekilling retry loops — GitHub Actions uses implicitset -e. Whenmysqlreturns non-zero inside a retry loop (e.g., database doesn't exist yet), the entire step would exit. Added|| trueto allRESULT=$()assignments. (037e197) -
Fix
grep -v Warningexiting underset -e—grep -v Warningreturns exit code 1 when there are no Warning lines to filter, killing the CI step. Wrapped in{ grep -v Warning || true; }. (2cc282d) -
Remove MariaDB 11.4 from CI — MariaDB 11.4.9 has an authentication bug where slave nodes fail with
Access denied for user 'msandbox'. Tracked in #82. MariaDB 10.11.9 continues to pass. (a76d93a)
Install
# Linux (amd64)
curl -L -o dbdeployer https://github.com/ProxySQL/dbdeployer/releases/download/v2.2.1/dbdeployer-2.2.1-linux-amd64
chmod +x dbdeployer
sudo mv dbdeployer /usr/local/bin/
# macOS (Apple Silicon)
curl -L -o dbdeployer https://github.com/ProxySQL/dbdeployer/releases/download/v2.2.1/dbdeployer-2.2.1-darwin-arm64
chmod +x dbdeployer
sudo mv dbdeployer /usr/local/bin/Full Changelog: v2.2.0...v2.2.1
v2.2.0
What's New
MariaDB & Percona Server Support
- MariaDB tarball registry: 10.6.9, 10.11.9, 11.4.5, 11.4.9, 11.8.6 (from archive.mariadb.org)
- Percona Server tarball registry: 5.7.41-5.7.44, 8.0.20-8.0.40, 8.4.0-8.4.4
- CI integration tests for both MariaDB and Percona Server
MySQL 9.5 Compatibility
- Semisync source/replica plugin support (old
semisync_master.so/semisync_slave.soremoved in 9.5) Slave_IO_Running→Replica_IO_Runningin multi-source replication checks (fan-in, all-masters)- Version-aware plugin selection:
semisync_source.sofor 9.2+,semisync_master.sofor older
Testing
- ts testscript suite: replication + semisync across MySQL 8.0, 8.4, 9.5
- ts testscript suite: PostgreSQL single + replication
- All multi-source templates support both old and new MySQL variable names
Install
curl -s https://raw.githubusercontent.com/ProxySQL/dbdeployer/master/scripts/dbdeployer-install.sh | bashFull changelog: v2.1.1...v2.2.0
v2.1.1
Fixes
- macOS downloads:
--minimalflag now falls back to non-minimal on macOS (macOS tarballs are never minimal) - macOS downloads: version guessing now uses correct macOS label (macos15) and architecture (arm64) instead of hardcoded macos11-x86_64
- MySQL 9.5 replication: replaced
\Gwith--verticalin all replication templates (fixesUnknown command '\G'on MySQL 9.5 macOS client) - Install script: fixed checksums.txt download URL
Install
curl -s https://raw.githubusercontent.com/ProxySQL/dbdeployer/master/scripts/dbdeployer-install.sh | bashFull changelog: v2.1.0...v2.1.1
v2.1.0
What's New Since v2.0.0
InnoDB Cluster
dbdeployer deploy replication 8.4.8 --topology=innodb-cluster- MySQL Shell bootstraps the cluster, MySQL Router provides connection routing
--skip-routerto use ProxySQL instead of Router- ProxySQL auto-configures
mysql_group_replication_hostgroupsfor GR/InnoDB Cluster
Admin Web UI
dbdeployer admin ui— localhost dashboard with OTP authentication- Sandbox cards with status badges, start/stop/destroy buttons
- Auto-refresh every 5 seconds
MySQL 8.4/9.x Improvements
- Dedicated 8.4+ templates (no more deprecation warnings)
- Fixed
\Gincompatibility with MySQL 9.5 client on macOS - Tarball registry: 8.4.0-8.4.8, 9.0.1, 9.1.0-9.5.0
ProxySQL Enhancements
- Monitor user changed to
rsandbox(proper replication role) - R/W split proxy users:
msandbox_rw(HG0),msandbox_ro(HG1) - GR-aware hostgroups for automatic failover routing
downloads add-urlfor custom tarball URLs
PostgreSQL Provider
- Single sandbox, streaming replication,
--provider=postgresql - ProxySQL wiring with
pgsql_servers/pgsql_users - Deb extraction for binaries
Documentation
- Website: proxysql.github.io/dbdeployer
- Comprehensive topology/provider/proxy reference
- Full docs for every topology and provider
Install
curl -s https://raw.githubusercontent.com/ProxySQL/dbdeployer/master/scripts/dbdeployer-install.sh | bashFull changelog: v2.0.0...v2.1.0
v2.0.0 — Provider Architecture + PostgreSQL
What's New
Provider Architecture — dbdeployer is now extensible. A Provider interface supports multiple database systems through the same CLI.
PostgreSQL Support — deploy single sandboxes and streaming replication topologies:
dbdeployer deploy replication 16.13 --provider=postgresqlProxySQL Integration — wire ProxySQL into any MySQL or PostgreSQL topology:
dbdeployer deploy replication 8.4.4 --with-proxysql
dbdeployer deploy replication 16.13 --provider=postgresql --with-proxysqlCross-Database Topology Constraints — providers declare which topologies they support, with clear error messages for unsupported combinations.
Modern MySQL — full compatibility with MySQL 8.4 LTS and 9.x, including group replication.
Install
curl -s https://raw.githubusercontent.com/ProxySQL/dbdeployer/master/scripts/dbdeployer-install.sh | bashBinaries
| Platform | Architecture | File |
|---|---|---|
| Linux | amd64 | dbdeployer-2.0.0.linux_amd64.tar.gz |
| Linux | arm64 | dbdeployer-2.0.0.linux_arm64.tar.gz |
| macOS | amd64 (Intel) | dbdeployer-2.0.0.osx_amd64.tar.gz |
| macOS | arm64 (Apple Silicon) | dbdeployer-2.0.0.osx_arm64.tar.gz |
Full changelog: v1.73.0...v2.0.0