Jak zrobić kopię zapasową bazy MySQL?
2016-10-21 14:07:34 | aganyu
Jeżeli używasz bazy danych MySQL i nie chcesz utracić swoich danych powinieneś wykonywać regularne kopie zapasowe. W dalszej części pokażemy 2 proste sposoby na wykonanie kopii zapasowej bazy danych MySQL.
1. Backup bazy MySQL z zastosowaniem mysqldump
Jeżeli posiadasz dostęp do powłoki systemu, możesz wykonać kopię zapasową za pomocą narzędzia mysqldump. Poniższe polecenie nawiązuje połączenie z serwerem bazy danych a następnie wykonuje zrzut wskazanej bazy do pliku SQL. Składania komendy wygląda następująco
mysqldump -u [użytkownik] -p [opcje] [nazwa_bazy] > [nazwa_pliku_zrzutu]
Warto zaznaczyć, że stosując powyższą składnię wpisujemy od razu nazwę użytkownika bazy danych, ale o hasło zostaniemy zapytani dopiero po zatwierdzeniu komendy. Hasło można też podać od razu w komendzie po fladze "-p" (bez spacji pomiędzy "-p" a hasłem), ale nie jest to bezpiecznie rozwiązanie, ponieważ zostanie zapisane w historii poleceń powłoki. Poniżej przykładowa komenda:
mysqldump -u root -p baza1 > backup_baza1.sql
Przed nazwą pliku zrzutu (w naszym przypadku "backup_baza1.sql"), możemy też podać scieżkę gdzie plik ma zostać zapisany. Jeżeli tego nie zrobimy plik zostanie zapisany w lokalizacji, w której obecne się znajdujemy.
Narzędzie mysqldump posiada wiele opcji. Jedną z najbardziej przydatnych jest: --single-transaction. Powoduje utworzenie spójnego zrzutu zawartości bazy danych poprzez zastosowanie jednej transakcji. UWAGA - obecnie działa tylko dla tabel typu InnoDB.
mysqldump -u root -p --single-transaction baza1 > backup_baza1.sql
Jeżeli baza jest duża przydatna będzie kompresja wynikowego pliku SQL. Kompresję można wykonać od razu w jednym poleceniu, którego przykład znajduje się poniżej:
mysqldump -u root -p | gzip -9 > backup_baza1.sql.gz
2. Backup bazy MySQL z zastosowaniem phpMyAdmin
Aby zrobić kopię bazy za pomocą phpMyAdmin należy wykonać następujące kroki. Otwieramy/logujemy się do phpMyAdmin, następnie wybieramy z listy po lewej stronie interesującą nas bazę danych. Klikamy w górnym menu na link: "Export". Zostanie załadowana strona na której możemy wybrać, czy chcemy wykonać szybki eksport z domyślnymi opcjami, czy chcemy dostosować ustawienia.W przypadku szybkiego exportu mamy do wyboru jedynie format (domyślny SQL). Wystarczy kliknąć na przycisk "Wykonaj" i przeglądarka pobierze i zapisze plik zawierający kopię bazy danych. Możemy spotkać się z sytuacją, gdzie domyślnie zrzut nie zostanie zapisany do pliku lecz wyświetlony na ekranie. Aby to zmienić należy wrócić do poprzedniego kroku i wybrać opcję dostosowania eksportu.
Zaznacznie opcji dostosuj pokaże okno w którym możemy:
- Tabela(e) - wybór tabel do exportu,
- Wyjście - wybór wyjścia danych - ekran, lub plik (dodatkowo szablon nazwy pliku, kompresję pliku oraz kodowanie),
- Format - format zapisu danych,
- Specyficzne opcje formatu: możliwość objęcia exportu transakcją, dodanie komentarzy, wybór czy mają być zapisane dane, struktura, czy dane oraz struktura,
- Opcje tworzenia obiektu,
- Opcje eksportu danych.