Update docs about MySQL/MariaDB database dumps and restores (#228).
This commit is contained in:
parent
04e5b42606
commit
bf0d38ff2a
3 changed files with 23 additions and 11 deletions
2
NEWS
2
NEWS
|
@ -1,4 +1,4 @@
|
||||||
1.4.9.dev0
|
1.4.9
|
||||||
* #228: Database dump hooks for MySQL/MariaDB, so you can easily dump your databases before backups
|
* #228: Database dump hooks for MySQL/MariaDB, so you can easily dump your databases before backups
|
||||||
run.
|
run.
|
||||||
* #243: Fix repository does not exist error with "borgmatic extract" when repository is remote.
|
* #243: Fix repository does not exist error with "borgmatic extract" when repository is remote.
|
||||||
|
|
|
@ -11,31 +11,40 @@ consistent snapshot that is more suited for backups.
|
||||||
|
|
||||||
Fortunately, borgmatic includes built-in support for creating database dumps
|
Fortunately, borgmatic includes built-in support for creating database dumps
|
||||||
prior to running backups. For example, here is everything you need to dump and
|
prior to running backups. For example, here is everything you need to dump and
|
||||||
backup a couple of local PostgreSQL databases:
|
backup a couple of local PostgreSQL databases and a MySQL/MariaDB database:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
hooks:
|
hooks:
|
||||||
postgresql_databases:
|
postgresql_databases:
|
||||||
- name: users
|
- name: users
|
||||||
- name: orders
|
- name: orders
|
||||||
|
mysql_databases:
|
||||||
|
- name: posts
|
||||||
```
|
```
|
||||||
|
|
||||||
Prior to each backup, borgmatic dumps each configured database to a file
|
Prior to each backup, borgmatic dumps each configured database to a file
|
||||||
(located in `~/.borgmatic/`) and includes it in the backup. After the backup
|
(located in `~/.borgmatic/`) and includes it in the backup. After the backup
|
||||||
completes, borgmatic removes the database dump files to recover disk space.
|
completes, borgmatic removes the database dump files to recover disk space.
|
||||||
|
|
||||||
Here's a more involved example that connects to a remote database:
|
Here's a more involved example that connects to remote databases:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
hooks:
|
hooks:
|
||||||
postgresql_databases:
|
postgresql_databases:
|
||||||
- name: users
|
- name: users
|
||||||
hostname: database.example.org
|
hostname: database1.example.org
|
||||||
port: 5433
|
port: 5433
|
||||||
username: dbuser
|
username: postgres
|
||||||
password: trustsome1
|
password: trustsome1
|
||||||
format: tar
|
format: tar
|
||||||
options: "--role=someone"
|
options: "--role=someone"
|
||||||
|
mysql_databases:
|
||||||
|
- name: posts
|
||||||
|
hostname: database2.example.org
|
||||||
|
port: 3307
|
||||||
|
username: root
|
||||||
|
password: trustsome1
|
||||||
|
options: "--skip-comments"
|
||||||
```
|
```
|
||||||
|
|
||||||
If you want to dump all databases on a host, use `all` for the database name:
|
If you want to dump all databases on a host, use `all` for the database name:
|
||||||
|
@ -44,10 +53,12 @@ If you want to dump all databases on a host, use `all` for the database name:
|
||||||
hooks:
|
hooks:
|
||||||
postgresql_databases:
|
postgresql_databases:
|
||||||
- name: all
|
- name: all
|
||||||
|
mysql_databases:
|
||||||
|
- name: all
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that you may need to use a `username` of the `postgres` superuser for
|
Note that you may need to use a `username` of the `postgres` superuser for
|
||||||
this to work.
|
this to work with PostgreSQL.
|
||||||
|
|
||||||
|
|
||||||
### Configuration backups
|
### Configuration backups
|
||||||
|
@ -61,9 +72,9 @@ bring back any missing configuration files in order to restore a database.
|
||||||
|
|
||||||
## Supported databases
|
## Supported databases
|
||||||
|
|
||||||
As of now, borgmatic only supports PostgreSQL databases directly. But see
|
As of now, borgmatic supports PostgreSQL and MySQL/MariaDB databases
|
||||||
below about general-purpose preparation and cleanup hooks as a work-around
|
directly. But see below about general-purpose preparation and cleanup hooks as
|
||||||
with other database systems. Also, please [file a
|
a work-around with other database systems. Also, please [file a
|
||||||
ticket](https://torsion.org/borgmatic/#issues) for additional database systems
|
ticket](https://torsion.org/borgmatic/#issues) for additional database systems
|
||||||
that you'd like supported.
|
that you'd like supported.
|
||||||
|
|
||||||
|
@ -148,7 +159,8 @@ databases that share the exact same name on different hosts.
|
||||||
If you prefer to restore a database without the help of borgmatic, first
|
If you prefer to restore a database without the help of borgmatic, first
|
||||||
[extract](https://torsion.org/borgmatic/docs/how-to/extract-a-backup/) an
|
[extract](https://torsion.org/borgmatic/docs/how-to/extract-a-backup/) an
|
||||||
archive containing a database dump, and then manually restore the dump file
|
archive containing a database dump, and then manually restore the dump file
|
||||||
found within the extracted `~/.borgmatic/` path (e.g. with `pg_restore`).
|
found within the extracted `~/.borgmatic/` path (e.g. with `pg_restore` or
|
||||||
|
`mysql` commands).
|
||||||
|
|
||||||
|
|
||||||
## Preparation and cleanup hooks
|
## Preparation and cleanup hooks
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -1,6 +1,6 @@
|
||||||
from setuptools import find_packages, setup
|
from setuptools import find_packages, setup
|
||||||
|
|
||||||
VERSION = '1.4.9.dev0'
|
VERSION = '1.4.9'
|
||||||
|
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
|
|
Loading…
Reference in a new issue