Mysqldump

Tworzenie kopii zapasowej bazy danych jest kluczowym elementem utrzymania integralności i trwałości danych.

W MySQL, narzędzie mysqldump jest często używane do tego celu. Pozwala ono na tworzenie “kopii zapasowych” bazy danych lub kolekcji baz danych. Dodatkowo, narzędzie pv pozwala na monitorowanie postępu procesu przywracania kopii zapasowej.

  1. Dump wszystkich baz danych

Aby utworzyć kopię zapasową wszystkich baz danych, można użyć polecenia mysqldump z przełącznikiem --all-databases:

mysqldump -u [username] -p --all-databases > alldb_backup.sql

W tym przypadku, [username] to nazwa użytkownika, który ma uprawnienia do wykonywania operacji na bazach danych. Po wykonaniu polecenia, zostanie utworzony plik alldb_backup.sql, który zawiera kopię zapasową wszystkich baz danych.

  1. Dump pojedynczej bazy danych

Jeśli chcesz utworzyć kopię zapasową tylko jednej bazy danych, możesz to zrobić, podając nazwę bazy danych jako argument dla mysqldump:

mysqldump -u [username] -p [database_name] > db_backup.sql

Tutaj, [database_name] to nazwa bazy danych, której kopię zapasową chcesz utworzyć.

  1. Dump pojedynczej tabeli

Możesz również utworzyć kopię zapasową tylko jednej tabeli z bazy danych. W tym celu, musisz podać zarówno nazwę bazy danych, jak i nazwę tabeli jako argumenty dla mysqldump:

mysqldump -u [username] -p [database_name] [table_name] > table_backup.sql

W tym przypadku, [table_name] to nazwa tabeli, której kopię zapasową chcesz utworzyć.

  1. Wykorzystanie przełączników

Narzędzie mysqldump oferuje wiele przełączników, które pozwalają na dostosowanie procesu tworzenia kopii zapasowej. Oto kilka przykładów:

  • --add-drop-table: Dodaje polecenia DROP TABLE przed każdym poleceniem CREATE TABLE w pliku kopii zapasowej. Jest to przydatne, gdy chcesz zastąpić istniejące tabele podczas przywracania kopii zapasowej.
  • --no-data: Powoduje, że mysqldump nie zapisuje żadnych danych tabeli (tylko schematy).
  • --lock-tables: Blokuje wszystkie tabele na czas tworzenia kopii zapasowej.
  • --password[=password]-p[password]: Umożliwia podanie hasła. Jeśli nie podasz hasła po przełączniku, mysqldump poprosi o nie.
  • --quick: Przyspiesza proces tworzenia kopii zapasowej dla dużych baz danych.
  • --single-transaction: Tworzy kopię zapasową z jednej transakcji, co jest przydatne dla dużych baz danych InnoDB.
  1. Przywracanie kopii zapasowej

Po utworzeniu kopii zapasowej, możesz ją przywrócić za pomocą polecenia mysql:

mysql -u [username] -p [database_name] < db_backup.sql

Tutaj, [database_name] to nazwa bazy danych, do której chcesz przywrócić kopię zapasową.

  1. Monitorowanie postępu przywracania za pomocą pv

Narzędzie pv pozwala na monitorowanie postępu procesu przywracania kopii zapasowej. Możesz je zainstalować za pomocą menedżera pakietów swojego systemu, na przykład apt na Ubuntu:

sudo apt install pv

Następnie, możesz użyć pv podczas przywracania kopii zapasowej:

pv db_backup.sql | mysql -u [username] -p [database_name]

Pamiętaj, że tworzenie regularnych kopii zapasowych jest ważnym elementem utrzymania bazy danych. Narzędzia mysqldump i pv są potężnymi narzędziami, które mogą pomóc w tym procesie. Jednak zawsze upewnij się, że twoje kopie zapasowe są bezpieczne i że potrafisz je przywrócić, zanim napotkasz na prawdziwy problem.

Dołącz do newslettera, by być na bieżąco!

Jeśli chcesz być na bieżąco z blogiem, otrzymywać świetne porady dot. programowania i administracji serwerami, opinie w temacie gier - dołącz do newslettera!

Raz na jakiś czas wyślę Ci informację nt. bloga, a także będę wysyłać ekskluzywne materiały techniczne!

Nie czekaj i dołącz!

Dołączając do newslettera, akceptujesz naszą politykę prywatności!