Archiwizacja bazy danych Damian Urbańczyk PHP + MySQL Archiwizacja bazy danych
Czym jest archiwizacja? Archiwizacja to wykonywanie kopii pewnych danych. W przypadku baz danych mówimy o tworzeniu kopii bezpieczeństwa, czyli zabezpieczaniu danych na wypadek wystąpienia problemów z bazą danych – bez względu na powód (sprzętowy, czy programowy). Kopie bezpieczeństwa tworzy się wszędzie tam, gdzie zebrane w bazie danych dane są szczególnie ważne.
Częstotliwość archiwizacji Kopie bezpieczeństwa powinny być tworzone tak często, jak to możliwe i wynika z potrzeby. Właściciel forum internetowego, na którym przybywa 10 wiadomości tygodniowo, może to robić raz w tygodniu. Właściciel serwisu ogłoszeniowego, w którym przybywa 200 ogłoszeń na dzień, powinien archiwizować dane znacznie częściej – nawet co kilka godzin.
Automatyzacja archiwizacji Wiele serwerów internetowych udostępnia możliwość cyklicznego uruchamiania skryptów za pośrednictwem, tzw. CRON-a. Możliwe jest zdefiniowanie odstępów czasowych, w których mają być wykonywane czynności – np. raz na dobę, raz na tydzień, raz na godzinę, a nawet co 15 minut. Jest to doskonała funkcja, gdyż odpowiednio przygotowany skrypt pozwoli na zrobienie kopii bezpieczeństwa bazy danych i wysyłkę w formie e-maila na inny serwer – wtedy dane z bazy danych są przechowywane na dwóch różnych serwerach, co minimalizuje możliwość całkowitej utraty danych, przed którą każdy odpowiedzialny webmaster chce się zabezpieczyć.
Archiwizacja w phpMyAdmin Aby dokonać archiwizacji z wykorzystaniem aplikacji phpMyAdmin, należy wybrać z dostępnych opcji „Eksport”. Zakres danych, które można zarchiwizować, zależy od uprawnień. Administrator serwera może wykonać kopię bezpieczeństwa wszystkich baz danych wraz z tabelami i danymi. Użytkownik konkretnej bazy danych może tylko stworzyć kopię bezpieczeństwa swojej bazy.
Co archiwizujemy? Opcja eksportu dostępna w phpMyAdmin pozwala na zdefiniowanie eksportowanych danych. Struktura – jeśli wybierzemy tę opcję, plik otrzymany w wyniku archiwizacji, będzie zawierał dane potrzebne do odbudowania struktury (tabele, typy danych). Dane – jeśli wybierzemy tę opcję, to zostaną zarchiwizowane wszystkie dane, które znajdują się w tabelach bazy danych. Zaleca się, aby tworzyć kopie bezpieczeństwa wszystkich elementów – zarówno struktury, jak i danych. Struktura zazwyczaj nie zajmuje zbyt wiele miejsca z pliku kopii bezpieczeństwa, a jest szczególnie ważna. Po co nam dane, gdy nie mamy struktury?
Kompresja? Większe bazy danych warto kompresować, czyli „pakować”. Dzięki kompresji można zaoszczędzić wiele miejsca, gdyż większość danych w tabelach to teksty, a takie typy danych najłatwiej się kompresuje, otrzymując dobry wskaźnik kompresji – nawet w okolicach 80%. W phpMyAdmin dostępne są możliwości kompresji do formatu .zip oraz .gz.
SQL, arkusz kalkulacyjny? Możliwe jest wykonanie archiwizacji do pliku SQL – jest to zwykły plik tekstowy, który zawiera odpowiednie komendy, które przy dokonywaniu późniejszego importu są odczytywane przez serwer i odpowiednio wykonywane. Istnieje również możliwość wykonania kopii bazy danych w różnych formatach, np. w formacie arkusza kalkulacyjnego. Wtedy zostaną utworzone odpowiednie arkusze w jednym pliku. Taka forma wykonania kopii bezpieczeństwa pozwala na lepsze zapoznanie się z wyglądem bazy danych…
Dziękuję za uwagę!