Getting Started

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.

Free & no account required. DBack is completely free to download and use. No signup, no subscription, no telemetry.

Installation

  1. Download DBack-Installer.dmg from the DBack download page.
  2. Open the DMG — a window will appear showing the DBack app and your Applications folder.
  3. Drag DBack into the Applications folder.
  4. Eject the DMG and launch DBack from Applications or Spotlight.
Gatekeeper. DBack is signed and notarized by Apple. If macOS shows a security prompt on first launch, go to System Settings → Privacy & Security and click Open Anyway.

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:

FieldDescription
HostHostname or IP address of your MySQL server (e.g. db.example.com).
PortMySQL port — default is 3306.
UserMySQL username with at least SELECT and LOCK TABLES privileges.
PasswordStored 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

  1. Click the + button in the Jobs sidebar.
  2. Give the job a name, enter your MySQL connection details, and click Test Connection.
  3. Select the databases you want to include.
  4. Configure the schedule, destination, and optionally notifications and retention.
  5. 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 typeDescription
DisabledJob only runs when triggered manually.
HourlyRuns every N hours (configurable).
DailyRuns once a day at a specified time.
WeeklyRuns on a chosen day of the week at a specified time.
Missed runs. If your Mac is asleep when a scheduled backup was due, DBack runs it the next time the app is open and the window has passed.

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.

SettingDescription
EnabledToggle monitoring on or off for this job.
IntervalHow often to run a check, in minutes (minimum 1 minute).
Notify on failureSend an alert when the connection check fails.

Check history — including latency per check — is visible in the Health tab.

Timeout. Each health check has a built-in 15-second timeout. If the server doesn't respond in time, the check is marked as failed and the app remains fully responsive.

Retention Policies

Retention policies automatically remove old backups from a destination to keep storage costs in check. Policies apply per-destination.

PolicyDescription
Keep last NRetains the N most recent backups, deletes everything older.
Keep for N daysDeletes backups older than N days.
No limitBackups accumulate indefinitely (default).
Deletion via retention policies is permanent. Double-check your policy before enabling it.

Restoring a Backup

You can restore any backup file directly from the History tab inside DBack.

  1. Open the History tab in the sidebar.
  2. Select a backup run and expand it to see individual database dumps.
  3. Click Restore next to the dump you want to recover.
  4. Choose the same connection as the original job, or enter a different MySQL connection.
  5. Select the target database and click Restore.
Restore overwrites existing data. Restoring into an existing database will drop and recreate its tables. Take a fresh backup of the target database before restoring if you need to preserve its current state.

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.