mysqldump jest to narzędzie do tworzenia logicznych kopii zapasowych baz danych. Generuje skrypty SQL, które można później użyć do odtworzenia bazy danych.
Przykład użycia:
mysqldump -u [user] -p moja_baza > backup.sql
Aby wykonać pełne archiwum z funkcjami i wyzwalaczami, można użyć dodatkowych parametrów:
-u [user]
– użyj nazwy użytkownika do logowania-p
– polecenie poprosi o hasło użytkownika- –routines – uwzględnia procedury składowane i funkcje
- –triggers – uwzględnia wyzwalacze
- –events – uwzględnia zdarzenia
- –all-databases – tworzy kopię zapasową wszystkich baz danych na serwerze MariaDB
przykład pełnej archiwizacji jednej bazy:
mysqldump -u [user] -p --routines --triggers --events mojabaza > mojabaza_backup.sql
przykład pełnej archiwizacji kilku bazy:
mysqldump -u [user] -p --routines --triggers --events --databases database1 database2 > databases_backup.sql
przykład archiwizacji razem z kompresją pliku wynikowego
mysqldump -u [user] -p --routines --triggers --events mojabaza | gzip > mojabaza_backup.sql.gz
Przykład skryptu bash do automatycznego tworzenia kopii zapasowych „backup.sh”:
#!/bin/bash
# Ustawienia
USER="user"
PASSWORD="password"
OUTPUT="/path/to/backup/full_backup_$(date +%F).sql"
# Tworzenie kopii zapasowej
mysqldump -u $USER -p$PASSWORD --routines --triggers --events mojabaza > $OUTPUT
# Kompresja kopii zapasowej
gzip $OUTPUT
Zapisz skrypt jako np. „backup.sh
” i nadaj mu uprawnienia wykonywalne:
chmod +x backup.sh
Następnie dodaj zadanie do crona, aby uruchamiać skrypt regularnie, np. codziennie o 2:00 rano:
crontab -e
Dodaj linijkę:
0 2 * * * /path/to/backup.sh