DBack Documentation
DBack is a native macOS app for scheduling and running automated MySQL backups. This guide covers everything from installation to your first running backup job.
Installation
- Download
DBack-Installer.dmgfrom the DBack download page. - Open the DMG — a window will appear showing the DBack app and your Applications folder.
- Drag DBack into the Applications folder.
- Eject the DMG and launch DBack from Applications or Spotlight.
First Launch
On first launch, DBack automatically downloads the MySQL client tools (~300 MB) required to connect to your databases and run backups. This is a one-time setup that runs in the background with a progress indicator.
Once complete, the main app window opens with an empty jobs list. You can also trigger a manual reinstall any time from Settings → MySQL Tools.
MySQL Connections
Each backup job stores its own connection details. When creating or editing a job, fill in:
| Field | Description |
|---|---|
Host | Hostname or IP address of your MySQL server (e.g. db.example.com). |
Port | MySQL port — default is 3306. |
User | MySQL username with at least SELECT and LOCK TABLES privileges. |
Password | Stored securely in macOS Keychain — never written to disk in plaintext. |
Click Test Connection to verify DBack can reach your server and list databases before saving.
Backup Jobs
A backup job defines what to back up, when, and where to send the dumps. Each job can target one or more databases from a single MySQL connection.
Creating a backup job
- Click the + button in the Jobs sidebar.
- Give the job a name, enter your MySQL connection details, and click Test Connection.
- Select the databases you want to include.
- Configure the schedule, destination, and optionally notifications and retention.
- Click Save.
Running a job manually
Select any job in the list and click Run Now in the toolbar. Progress is shown inline — you can continue using the app while the backup runs.
Scheduling
DBack has a built-in scheduler — backups run as long as your Mac is awake. No cloud service or background daemon required.
| Schedule type | Description |
|---|---|
| Disabled | Job only runs when triggered manually. |
| Hourly | Runs every N hours (configurable). |
| Daily | Runs once a day at a specified time. |
| Weekly | Runs on a chosen day of the week at a specified time. |
Destinations
Each job can send backups to one or more destinations simultaneously. All destination credentials are stored in macOS Keychain.
Amazon S3 and S3-compatible storage
Enter your Access Key, Secret Key, bucket name, region, and optional path prefix. DBack works with any S3-compatible API including Cloudflare R2, MinIO, Backblaze B2, and DigitalOcean Spaces.
SFTP
Enter the host, port, username, and password. Backups are uploaded to the configured remote directory over a secure SSH connection.
FTP
Standard FTP with host, port, username, and password. Use SFTP instead wherever possible for better security.
Local folder
Saves gzip-compressed .sql.gz dumps to any folder on your Mac or an attached external volume.
Notifications
DBack can alert you on backup success or failure through any combination of:
- Slack — via an Incoming Webhooks URL.
- Discord — via a Discord Webhook URL.
- Email — via any SMTP server (Gmail, SendGrid, Mailgun, etc.).
- Custom Webhook — HTTP POST with a JSON payload to any endpoint.
Notification presets are reusable — create one in the Notifications Library and attach it to as many jobs as you like.
Connection Health Monitoring
Enable health monitoring on any job to have DBack periodically verify that your MySQL server is reachable. If a check fails, DBack sends an alert through all notification presets attached to that job.
| Setting | Description |
|---|---|
| Enabled | Toggle monitoring on or off for this job. |
| Interval | How often to run a check, in minutes (minimum 1 minute). |
| Notify on failure | Send an alert when the connection check fails. |
Check history — including latency per check — is visible in the Health tab.
Retention Policies
Retention policies automatically remove old backups from a destination to keep storage costs in check. Policies apply per-destination.
| Policy | Description |
|---|---|
| Keep last N | Retains the N most recent backups, deletes everything older. |
| Keep for N days | Deletes backups older than N days. |
| No limit | Backups accumulate indefinitely (default). |
Restoring a Backup
You can restore any backup file directly from the History tab inside DBack.
- Open the History tab in the sidebar.
- Select a backup run and expand it to see individual database dumps.
- Click Restore next to the dump you want to recover.
- Choose the same connection as the original job, or enter a different MySQL connection.
- Select the target database and click Restore.
Troubleshooting
App says "MySQL tools not found"
Go to Settings → MySQL Tools and click Reinstall. This re-downloads and installs the required mysqldump and mysql binaries.
Backup fails with "Access denied"
The MySQL user doesn't have sufficient privileges. Grant at minimum: SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER on the target databases.
S3 upload fails
Verify your Access Key has the s3:PutObject permission on the target bucket, and that the bucket name and region are entered correctly.
App freezes during connection health checks
This issue was resolved in v1.0. Each health check runs on a background thread with a 15-second hard timeout. Update to the latest version if you're still seeing a freeze.
macOS Gatekeeper blocks the app
DBack is signed and notarized by Apple. If you see "Apple cannot check it for malicious software", go to System Settings → Privacy & Security and click Open Anyway.
Still stuck?
Email us at [email protected] and we'll help you out.