mirror of
https://github.com/jkaninda/mysql-bkup.git
synced 2025-12-06 13:39:41 +01:00
62 lines
2.3 KiB
Markdown
62 lines
2.3 KiB
Markdown
---
|
|
title: Backup all databases in the server
|
|
layout: default
|
|
parent: How Tos
|
|
nav_order: 12
|
|
---
|
|
|
|
# Backup All Databases
|
|
|
|
MySQL-Bkup supports backing up all databases on the server using the `--all-databases` (`-a`) flag. By default, this creates separate backup files for each database. If you prefer a single backup file, you can use the `--all-in-on`e (`-A`) flag.
|
|
|
|
Backing up all databases is useful for creating a snapshot of the entire database server, whether for disaster recovery or migration purposes.
|
|
## Backup Modes
|
|
|
|
### Separate Backup Files (Default)
|
|
|
|
Using --all-databases without --all-in-one creates individual backup files for each database.
|
|
|
|
- Creates separate backup files for each database.
|
|
- Provides more flexibility in restoring individual databases or tables.
|
|
- Can be more manageable in cases where different databases have different retention policies.
|
|
- Might take slightly longer due to multiple file operations.
|
|
- It is the default behavior when using the `--all-databases` flag.
|
|
- It does not backup system databases (`information_schema`, `performance_schema`, `mysql`, `sys`, `innodb`).
|
|
|
|
**Command:**
|
|
|
|
```bash
|
|
docker run --rm --network your_network_name \
|
|
-v $PWD/backup:/backup/ \
|
|
-e "DB_HOST=dbhost" \
|
|
-e "DB_PORT=3306" \
|
|
-e "DB_USERNAME=username" \
|
|
-e "DB_PASSWORD=password" \
|
|
jkaninda/mysql-bkup backup --all-databases
|
|
```
|
|
### Single Backup File
|
|
|
|
Using --all-in-one (-A) creates a single backup file containing all databases.
|
|
|
|
- Creates a single backup file containing all databases.
|
|
- Easier to manage if you need to restore everything at once.
|
|
- Faster to back up and restore in bulk.
|
|
- Can be problematic if you only need to restore a specific database or table.
|
|
- It is recommended to use this option for disaster recovery purposes.
|
|
- It backups system databases as well.
|
|
|
|
```bash
|
|
docker run --rm --network your_network_name \
|
|
-v $PWD/backup:/backup/ \
|
|
-e "DB_HOST=dbhost" \
|
|
-e "DB_PORT=3306" \
|
|
-e "DB_USERNAME=username" \
|
|
-e "DB_PASSWORD=password" \
|
|
jkaninda/mysql-bkup backup --all-in-one
|
|
```
|
|
|
|
### When to Use Which?
|
|
|
|
- Use `--all-in-one` if you want a quick, simple backup for disaster recovery where you'll restore everything at once.
|
|
- Use `--all-databases` if you need granularity in restoring specific databases or tables without affecting others.
|