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
| Database | Supported Versions | Backup Method |
|---|---|---|
| MySQL | 5.7, 8.x, 9.x | mysqldump |
| MariaDB | 10.x, 11.x | mariadb-dump |
| PostgreSQL | 12 - 18 | pg_dump |
| MongoDB | 4.x - 8.x | mongodump |
| Redis | 6.x, 7.x, 8.x | redis-cli --rdb |
| SQLite | 3.x | .dump command |
| MSSQL | 2017, 2019, 2022 | BACKUP DATABASE |
Adding a Source
- Navigate to Sources in the sidebar
- Click Add Source
- Select the database type
- Fill in the connection details
- Click Test Connection to verify
- Click Fetch Databases to list available databases
- Select which databases to backup
- 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:
CREATE USER 'backup_user'@'%' IDENTIFIED BY 'strong_password';
GRANT SELECT, SHOW VIEW, TRIGGER, LOCK TABLES ON *.* TO 'backup_user'@'%';
FLUSH PRIVILEGES;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;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:
- Click Test Connection
- 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:
| Platform | Host Address |
|---|---|
| Linux | host.docker.internal or host IP |
| macOS | host.docker.internal |
| Windows | host.docker.internal |
For Docker Compose networks, use the service name as hostname.
Next Steps
Choose your database type for detailed configuration: