🢂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

  1. Przywracanie kopii bazy danych

    mysql -u root -pHaslo -f  baza_danych-old < backup.sql
  2. Tworzenie kopii bazy

    mysqldump -u root -pHaslo baza_danych > backup.sql
  3. Kopia z datą i czasem w nazwie pliku

    mysqldump -u root -pHaslo baza_danych > "backup_$(date +%Y-%m-%d_%H-%M-%S).sql"
  4. 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

  1. 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.

  2. Kopia zapasowa określonej tabeli

    mysqldump -u [użytkownik] -p [baza_danych] [tabela] > backup_tabeli.sql

    Dodaj nazwę tabeli po nazwie bazy danych.

  3. Kopia zapasowa z kompresją

    mysqldump -u [użytkownik] -p [baza_danych] | gzip > backup.sql.gz

    Użyj gzip do kompresji pliku kopii zapasowej.

  4. Kopia zapasowa wielu baz danych

    mysqldump -u [użytkownik] -p --databases [baza1] [baza2] > backup_multi.sql

    Wymień nazwy baz danych oddzielając je spacjami.

  5. Kopia zapasowa wszystkich baz danych

    mysqldump -u [użytkownik] -p --all-databases > backup_wszystko.sql
  6. Kopia zapasowa bez danych tabel (tylko struktura)

    mysqldump -u [użytkownik] -p --no-data [baza_danych] > struktura.sql
  7. 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.

  8. Kopia zapasowa z ograniczeniem blokady

    mysqldump -u [użytkownik] -p --single-transaction [baza_danych] > backup.sql

    Idealne dla baz danych InnoDB.

  9. Przywracanie z kopii zapasowej

    mysql -u [użytkownik] -p [baza_danych] < backup.sql
  10. 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.