# Zarządzanie kopią bazy danych

### MySQL - mysqldump

mysqldump to narzędzie robienia kopii bazy danych MySQL. Tworzy plik *.sql zawierający takie komendy jak: DROP table, CREATE table i INSERT into źródłowej bazy danych. W celu odzyskania bazy wystarczy wykonać plik sql w docelowej bazie danych.

### Składnia poleceń do robienia kopii i przywracania bazy.

kopia: mysqldump -u user -p[haslo] [nazwa_bazy] > nazwapliku.sql
odzyskiwanie: mysql -u user -p[haslo] [nazwa_bazy] < nazwapliku.sql

Przykłady - Backup bazy MySQL

Komenda wykonuje kopię bazy testowa do pliku kopia_bazy.sql
mysqldump -u user -phaslo testowa > kopia_bazy.sql

Backup kilku baz danych - można użyć poniższego polecenia. Wykonuje ono kopię dwóch baz (baza1, baza2) do pliku kopia_baz.sql
mysqldump -u user -phaslo --databases baza1 baza2 > kopia_baz.sql

Poniższa komenda robi kopię wszystkich baz
mysqldump -u user -phaslo --all-databases > kopia_wszystkich_baz.sql

Kopia tylko określonej tabeli w bazie
mysqldump -u user -phaslo nazwa_bazy nazwa_tabeli > kopia_tabeli.sql

Przywracanie bazy MySQL

Najpierw logujemy się do mysql. Kolejna komenda powoduje przywrócenie bazy danych testowa z pliku backup.sql
mysql -u root -phaslo
mysql -u root -phaslo testowa < /katalog/backup.sql

Wykonanie (lokalnie) kopii bazy danych "test" i przywrócenie jej na zdalnym serwerze jako "test1". Należy pamiętać, aby przed wykonaniem polecenia utworzyć na zdalnym serwerze bazę "test1" [localhost] mysqldump -u root -phaslo test | mysql \
-u root -phaslo --host=zdalny_serwer -C test1

### PostgreSQL - pg_dump

Składnia poleceń do robienia kopii i przywracania bazy.

kopia: pg_dump
odzyskanie: pg_restore

Przekierowanie wyjściwych/.wejściowych odbywa się za pomocą symboli "<" oraz ">"

Przykład poleceń tworzenia/odzyskiwania kopii bazy danych w systemie Windows:
pg_dump -U postgres -Fc mojabaza > c:\Users\krzysztof\kopia_bazy
pg_restore -U postgres -d mojabaza c:\Users\krzysztof\kopia_bazy

Parametry backupu:
-F : format pliku - może być dowolny
-c : wyczyść strukturę dumpa za pomocą poleceń DROP - w przypadku gdy wcześniej były tworzone/odzyskiwane kopie
-d : copiowanie domyślne

### Użycie interfejsu graficznego systemu MySQL

Pasek importu i eksportu bazy danych i jej elementów

Odtwarzanie bazy danych i jej elementów

⇒ Spis treści ⇐

⇐ PREV