Encrypted MySQL backups.
xbackupman backs up MySQL and MariaDB with consistent, single-transaction dumps — a point-in-time snapshot taken without locking your tables. The dump is compressed, encrypted with AES-256-GCM and pushed to storage you own, on the schedule you set.
What gets captured
- A single-transaction logical dump, giving a consistent point-in-time view without table locks on InnoDB.
- Schema and data together — CREATE statements, rows, indexes and constraints ready to replay anywhere.
- In-stream gzip compression followed by AES-256-GCM encryption inside the worker.
- A SHA-256 checksum per snapshot so you can prove the artifact is intact before restoring.
How it works
Connect MySQL or MariaDB
Add a connection with host, port, database and a user that can read the tables you want. Private instances are reachable over SSH or an allow-listed IP.
Consistent single-transaction dump
The worker runs mysqldump with --single-transaction so InnoDB tables are captured at one consistent moment — no locks, no blocked writes on a busy database.
Compress, encrypt, upload
The dump is gzipped and sealed with AES-256-GCM before anything leaves the worker, then the ciphertext is uploaded to your own S3-compatible bucket.
Verify, schedule, retain
Each snapshot is checksummed with SHA-256. Run hourly, daily or on any cron expression, and let retention prune old dumps while always keeping your last copy.
Your storage, your keys
Your MySQL and MariaDB dumps go straight into your own bucket — S3, R2, B2 or MinIO. The artifact is encrypted client-side in the worker, so your storage provider only ever holds ciphertext. There is no vendor bucket in the middle: you keep full custody of every backup.
xbackupman never stores your backups on its own servers. It orchestrates the pipeline and records metadata — the encrypted artifacts live only in the S3-compatible bucket you connect. See how encryption works.
One-click restore
To restore, choose a snapshot and a target, confirm, and the worker decrypts, decompresses and replays the dump — into a separate, empty database by default. The output is a standard SQL dump, so you can equally download it and pipe it into the mysql client for a manual restore or a partial table recovery.
Questions
QDoes the backup lock my tables?
No. With --single-transaction, InnoDB tables are dumped from one consistent snapshot without locking, so your application keeps reading and writing during the backup.
QDoes this work with MariaDB as well as MySQL?
Yes. MariaDB is wire- and dump-compatible with MySQL, so the same consistent-dump pipeline applies to both.
QCan I restore a single table instead of the whole database?
Download the decrypted SQL dump and apply just the statements you need with the mysql client. Full-database restores are one click from the dashboard.
QWhat about very large MySQL databases?
The dump is streamed and compressed as it is produced rather than buffered whole, so the memory footprint stays small and uploads are compact.
Back up more
One engine covers every source you run — on a single schedule, in one dashboard, encrypted into the same storage.