Enterprise-grade protection for MySQL, MariaDB and Percona Server on Bacula Community 15.0.3+. 48 of 48 Bacula Enterprise MySQL Plugin 18.2.3 features matched or exceeded — parallel logical dumps, xtrabackup with LSN incremental chain, MySQL 8.0.17+ CLONE INSTANCE, transportable tablespaces, TDE keyring export, topology-aware (Async-Replica / Group Replication / Galera), CDP binlog streamer, Prometheus metrics, automatic DR-target provisioning. Pure-Rust cdylib + ~540 KB musl static-pie backend — no Perl, no Python.

Why not the Bacula Enterprise MySQL plugin?

The Enterprise plugin is a Perl wrapper around mysqldump/xtrabackup. It works, but:

  • Perl runtime on every FD host
  • Sequential per-database jobs (no within-job parallelism)
  • Documented incompatible with Bacula’s AES volume encryption when using xtrabackup --prepare
  • No DR-target provisioning, no TDE automation, no CDP sidecar
  • Closed source — you cannot audit or patch what protects your DB
  • Fortune-500 pricing

PodHeitor delivers the same feature set — and more — as a single 540 KB Rust binary, with pricing aligned to mid-market MySQL fleets.

Capabilities (all production-validated)

  • ✅ Parallel logical dump (mysqldump/mariadb-dump) with per-DB parallelism
  • ✅ Physical hot backup (xtrabackup/mariabackup) with LSN incremental chain
  • ✅ MySQL 8.0.17+ CLONE INSTANCE agentless backup
  • ✅ Transportable Tablespaces — single-table restore via IMPORT TABLESPACE
  • ✅ TDE keyring export + re-install on restore
  • ✅ Topology-aware — Standalone / Async-Replica / Group Replication / Galera
  • ✅ require_replica=true safety gate — refuses to back up Primary
  • ✅ Galera donor auto-desync RAII guard (no forgotten flags)
  • ✅ DR-target provisioning — plugin wires CHANGE REPLICATION SOURCE + START REPLICA on restore (live-validated JobId 3592)
  • ✅ CDP binlog streamer sidecar — mysqlbinlog --stop-never --raw with systemd unit
  • ✅ Prometheus textfile-collector metrics
  • ✅ Automatic post-restore verify (basic/checksum/deep)
  • ✅ PTCOMM streaming — zero staging, native Bacula encryption compatible
  • ✅ Single static-pie musl binary ~540 KB — no Perl, no Python

Validated support matrix

Engine Versions Modes
MySQL Community / Enterprise 8.0 ≥ 8.0.17 · 8.4 LTS dump, xtrabackup, clone, replicate
Percona Server 8.0.x dump, xtrabackup, clone, replicate (+ TDE keyring)
MariaDB 10.6 LTS · 10.11 LTS · 11.4 LTS dump, mariabackup, replicate

OS: RHEL/Oracle/Rocky/Alma 8/9 · Debian 12 · Ubuntu 22.04/24.04. Bacula: Community 15.0.3.

Comparison

Feature Bacula Community Bacula Enterprise MySQL 18.2.3 PodHeitor MySQL
MySQL/MariaDB/Percona backup No Yes (Perl) Yes (Rust)
Within-job parallelism No No Yes
Compatible with Bacula AES volume encryption — No (xtrabackup) Yes
CDP binlog streamer No No Yes
Automatic DR-target provisioning No No Yes
TDE keyring automation No Manual Yes
Group Replication / Galera-aware No Partial Yes
Cost Free $$$$ ≥50% cheaper

Installation

# EL9 (RHEL/Oracle/Rocky/Alma)
sudo rpm --import PODHEITOR-PROJECT-KEY.asc
sudo dnf install podheitor-mysql-plugin-0.4.1-1.el9.x86_64.rpm

# Debian / Ubuntu
sudo dpkg -i podheitor-mysql-plugin_0.4.1-1_amd64.deb

Ready to switch?

Bring us your renewal or new-contract proposal from Bacula Enterprise, Veeam, Commvault or NetBackup. We commit to a minimum 50% discount, with more capabilities included.

Heitor Faria — Founder, PodHeitor International
✉ heitor@opentechs.lat
☎ +1 (786) 726-1749 · +55 (61) 98268-4220 (WhatsApp)

Technical whitepaper

📘 Read the full technical whitepaper — architecture, backup modes, integrations, anti-patterns and licensing model.

Disponível em: pt-brPortuguês (Portuguese (Brazil))enEnglishesEspañol (Spanish)