🢂MysqlDump ‑ Cheatsheet (ściąga)
Tworzenie kopii zapasowych bazy danych MySQL to kluczowy element zarządzania danymi, który pozwala na ochronę przed utratą danych.
W dzisiejszym wpisie skupimy się na kluczowym aspekcie zarządzania bazami danych MySQL - tworzeniu kopii zapasowych. Przedstawiam 10 sprawdzonych metod, które pomogą Ci zabezpieczyć Twoje dane przed nieprzewidzianymi sytuacjami. Niezależnie od tego, czy jesteś początkującym, czy doświadczonym administratorem bazy danych, znajdziesz tu coś dla siebie. Zapraszam do lektury.
Pamiętaj
Zachowaj ostrożność, ponieważ podane tu przykłady i ich działanie może spowodować, że Twoje hasło będzie widoczne dla innych użytkowników systemu lub zostanie zapisane w historii poleceń (wpisz history
, zobaczysz historię poleceń z pozostawionym hasłem, lub sudo cat /home/nazwa_usera/.bash_history
i masz listę ostatnich poleceń podanego usera).
Przykłady
-
Przywracanie kopii bazy danych
mysql -u root -pHaslo -f baza_danych-old < backup.sql
-
Tworzenie kopii bazy
mysqldump -u root -pHaslo baza_danych > backup.sql
-
Kopia z datą i czasem w nazwie pliku
mysqldump -u root -pHaslo baza_danych > "backup_$(date +%Y-%m-%d_%H-%M-%S).sql"
-
Kopia zapasowa bez danych tabel (tylko struktura)
mysqldump -u root -pHaslo --no-data baza_danych > backup_struktura.sql
Przydaje się jeśli potrzebujesz przenieść strukturę bazy danych na inne środowisko bez przekazywania rzeczywistych danych, np. z produkcji do środowiska testowego, gdzie dane nie są potrzebne (np. logi czy statystyki) lub mogą być poufne.
10 najpopularniejszych przykładów mysqldump
-
Pełna kopia zapasowa za pomocą mysqldump
mysqldump -u [użytkownik] -p [baza_danych] > backup.sql
Zastąp
[użytkownik]
nazwą użytkownika, a[baza_danych]
nazwą bazy danych. -
Kopia zapasowa określonej tabeli
mysqldump -u [użytkownik] -p [baza_danych] [tabela] > backup_tabeli.sql
Dodaj nazwę tabeli po nazwie bazy danych.
-
Kopia zapasowa z kompresją
mysqldump -u [użytkownik] -p [baza_danych] | gzip > backup.sql.gz
Użyj
gzip
do kompresji pliku kopii zapasowej. -
Kopia zapasowa wielu baz danych
mysqldump -u [użytkownik] -p --databases [baza1] [baza2] > backup_multi.sql
Wymień nazwy baz danych oddzielając je spacjami.
-
Kopia zapasowa wszystkich baz danych
mysqldump -u [użytkownik] -p --all-databases > backup_wszystko.sql
-
Kopia zapasowa bez danych tabel (tylko struktura)
mysqldump -u [użytkownik] -p --no-data [baza_danych] > struktura.sql
-
Kopia zapasowa z określonym formatem kodowania
mysqldump -u [użytkownik] -p --default-character-set=utf8 [baza_danych] > backup.sql
Zmień kodowanie znaków w zależności od potrzeb.
-
Kopia zapasowa z ograniczeniem blokady
mysqldump -u [użytkownik] -p --single-transaction [baza_danych] > backup.sql
Idealne dla baz danych InnoDB.
-
Przywracanie z kopii zapasowej
mysql -u [użytkownik] -p [baza_danych] < backup.sql
-
Kopia zapasowa za pomocą mysqlhotcopy
mysqlhotcopy -u [użytkownik] -p [baza_danych] /ścieżka/do/zapisu
Działa tylko dla silników MyISAM i ARCHIVE.
Pamiętaj, aby zastąpić [użytkownik]
, [baza_danych]
i [tabela]
odpowiednimi wartościami.