Skip to content

Releases: ProxySQL/dbdeployer

v2.2.1

09 Apr 14:20

Choose a tag to compare

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_nodes and then tried to have mysqlsh adopt it, which caused infinite loops ("unmanaged replication group"), access denied errors, and errant GTID conflicts. Now init_cluster handles everything: reset GTIDs, configure all instances, create the cluster, and add replicas. (aa12a0c)

  • Fix mysqlsh installation (missing libexec/ directory)mysqlsh requires libexec/mysqlsh/ alongside lib/mysqlsh/ to start. Without it: "libexec folder not found, shell installation likely invalid". (c62b470)

  • Remove invalid --interactive flagdba configure-instance in CLI mode (--) does not support --interactive, causing "The following option is invalid: --interactive". (aa12a0c)

MySQL Router

  • Fix Router start hanging foreverRunCmd(start.sh) blocked indefinitely because the backgrounded mysqlrouter process inherited stdout/stderr pipes, preventing Go's cmd.Wait() from returning. Now launches mysqlrouter directly via exec.Command().Start(). (2cc282d)

  • Fix Router port extraction in CIls file && grep file captured both the file path and the port number into the variable, causing mysql to receive a multi-line value as the port. (1481128)

ProxySQL + InnoDB Cluster

  • Fix --with-proxysql for InnoDB Cluster topology — ProxySQL setup used the standard replication path (rsandbox_*/master/) but InnoDB Cluster uses ic_msb_*/node1/ as the primary. Added topology-aware path resolution. (417b262)

  • Fix ProxySQL GR monitor seeing all nodes as offline — The rsandbox monitor user lacked SELECT on performance_schema, so ProxySQL couldn't query replication_group_members to 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 database error — 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_test vs fanin_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 -e killing retry loops — GitHub Actions uses implicit set -e. When mysql returns non-zero inside a retry loop (e.g., database doesn't exist yet), the entire step would exit. Added || true to all RESULT=$() assignments. (037e197)

  • Fix grep -v Warning exiting under set -egrep -v Warning returns 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

08 Apr 04:31

Choose a tag to compare

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.so removed in 9.5)
  • Slave_IO_RunningReplica_IO_Running in multi-source replication checks (fan-in, all-masters)
  • Version-aware plugin selection: semisync_source.so for 9.2+, semisync_master.so for 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 | bash

Full changelog: v2.1.1...v2.2.0

v2.1.1

04 Apr 12:14

Choose a tag to compare

Fixes

  • macOS downloads: --minimal flag 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 \G with --vertical in all replication templates (fixes Unknown 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 | bash

Full changelog: v2.1.0...v2.1.1

v2.1.0

04 Apr 11:56

Choose a tag to compare

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-router to use ProxySQL instead of Router
  • ProxySQL auto-configures mysql_group_replication_hostgroups for 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 \G incompatibility 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-url for 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 | bash

Full changelog: v2.0.0...v2.1.0

v2.0.0 — Provider Architecture + PostgreSQL

24 Mar 18:39

Choose a tag to compare

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=postgresql

ProxySQL 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-proxysql

Cross-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 | bash

Binaries

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