MySQL Tworzenie kopii zapasowych oraz przenoszenie

From Training Material
Jump to navigation Jump to search

THIS IS A DRAFT

This text may not be complete.

title
Editing MySQL Tworzenie kopii zapasowych oraz przenoszenie
author
Leszek Albrzykowski (NobleProg Ltd)

Przegląd omawianych zagadnień ⌘

  • Cel tworzenia kopii zapasowych
  • Tworzenie kopii zapasowych za pomocą programu mysqldump
  • Tworzenie kopii zapasowych za pomocą programu MySQL Workbench
  • Kopiowanie informacji pomiędzy bazami danych

Cel tworzenia kopii zapasowych ⌘

Dzięki tworzeniu kopii zapasowej bazy danych mamy możliwość: - Zabezpieczenia informacji na wypadek awarii serwera - Zabezpieczenie informacji na wypadek zniszczenia wskutek niepowołanego dostępu osób trezcich - Wykorzystanie informacji na innym serwerze/bazie danych (np. w czasie procecu pielęgnacji i rozwoju systemu informatycznego)

Tworzenie kopii zapasowych ⌘

Program mysqldump pozwala na tworzenie kopii zapasowych z poziomi linii poleceń. Pomimo pewnego utrudnienia dla osób nieobeznanych z konsolą, znajomość tego rozwiązania ma trzy, bardzo istotne zalety:

  • Czas importu/eksportu bazy za pomocą mysqldump jest zazwyczaj znacznie szybszy niż za pomocą narzędzi z graficznym interfejsem użytkownika
  • Eksport i import jest wysoce konfigurowalny a wynik działania zazwyczaj ograniczony jest doświadczeniem informatyka a nie możliwości systemu
  • Niejednokrotnie jest jedynym sposobem na przeprowadzenie procesu (np. serwer bez menedżera baz danych oraz z dostępem do bazy tylko z poziomu hosta lokalnego)

Tworzenie kopii za pomoca programu mysqldump ⌘

Z konsoli wykonujemy polecenie:

 mysqldump -u root -p <database_name> > <dump_directory>/<dump_database_name>.sql

Wykonanie polecenia spowoduje utworzenie pliku z dyrektywami odpowiedzialnymi za tworzenie i uzupełnienie danymi kopiowanej bazy.

Wynikowy plik można też skompresować:

 mysqldump -u root -p <database_name> | gzip > <dump_directory>/<dump_database_name>.sql.gz

Jeżeli nie jest konieczny eksport wszystkich tabel, mamy możliwość wskazania tych, które nie mają podlegać eksportowaniu:

 mysqldump -u root -p <database_name> --ignore-table=<database_name>.<table_name> > <dump_directory>/<dump_database_name>.sql

W przypadku, gdy wyeksportowany ma zostać sam schemat, bez danych należy uży ć opcji --no-data:

 mysqldump -u root -p <database_name> --no-data > <dump_directory>/<dump_database_name>.sql

Pełny opis programu znajduje się na stronie: http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

Tworzenie kopii zapasowych za pomocą programu MySQL Workbench ⌘

  • Po uruchomieniu programu wybieramy opcję Manage Import / Export

Dump 001.png

  • Zaznaczamy bazę, która będzie eksportowana

Dump 003.png

  • Zaznaczamy tabelę, które będą eksportowane

Dump 004.png

  • Podajemy ściężkę i nazwę pliku wynikowego

Dump 005.png

  • Zatwierdzamy opcje

Dump 006.png

  • Okno z informacją o przebiegu eksportu bazy

Dump 007.png