Skip to content

Database Sources

DBackup supports a wide variety of database engines. This section provides an overview of all supported databases and their specific configuration requirements.

Supported Databases

DatabaseSupported VersionsBackup Method
MySQL5.7, 8.x, 9.xmysqldump
MariaDB10.x, 11.xmariadb-dump
PostgreSQL12 - 18pg_dump
MongoDB4.x - 8.xmongodump
Redis6.x, 7.x, 8.xredis-cli --rdb
SQLite3.x.dump command
MSSQL2017, 2019, 2022BACKUP DATABASE

Adding a Source

  1. Navigate to Sources in the sidebar
  2. Click Add Source
  3. Select the database type
  4. Fill in the connection details
  5. Click Test Connection to verify
  6. Click Fetch Databases to list available databases
  7. Select which databases to backup
  8. Save the configuration

Common Configuration Options

All database sources share these common settings:

Connection Details

  • Name: A friendly name for this source (e.g., "Production MySQL")
  • Host: Database server hostname or IP address
  • Port: Database server port
  • User: Username for authentication
  • Password: Password for authentication

Database Selection

You can backup:

  • All databases: Leave database field empty or select all
  • Specific databases: Select individual databases from the list
  • Multiple databases: Select multiple databases for a single backup file

Additional Options

Most adapters support an "Additional Options" field where you can pass extra flags to the underlying backup tool (e.g., --single-transaction for MySQL).

Security Best Practices

Dedicated Backup User

Create a dedicated user for backups with minimal required permissions:

sql
CREATE USER 'backup_user'@'%' IDENTIFIED BY 'strong_password';
GRANT SELECT, SHOW VIEW, TRIGGER, LOCK TABLES ON *.* TO 'backup_user'@'%';
FLUSH PRIVILEGES;
sql
CREATE USER backup_user WITH PASSWORD 'strong_password';
GRANT CONNECT ON DATABASE mydb TO backup_user;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO backup_user;
javascript
db.createUser({
  user: "backup_user",
  pwd: "strong_password",
  roles: [{ role: "backup", db: "admin" }]
})

Network Security

  • Use private networks when possible
  • Enable SSL/TLS for database connections
  • Use firewall rules to restrict access

Credential Encryption

DBackup automatically encrypts all stored credentials using your ENCRYPTION_KEY. The passwords are never stored in plaintext.

Test Connection

Always test your connection before saving:

  1. Click Test Connection
  2. The system verifies:
    • Network connectivity
    • Authentication credentials
    • Required permissions

Test Failures

If the test fails, check:

  • Firewall rules
  • Database user permissions
  • Network connectivity from Docker container

Connection from Docker

When DBackup runs in Docker and your database is on the host machine:

PlatformHost Address
Linuxhost.docker.internal or host IP
macOShost.docker.internal
Windowshost.docker.internal

For Docker Compose networks, use the service name as hostname.

Next Steps

Choose your database type for detailed configuration:

Released under the GNU General Public License. | Privacy · Legal Notice