Wyobraź sobie, że piszesz bardzo ważną pracę. Co robisz? Zapisujesz ją regularnie! A co, jeśli boisz się, że Twój komputer może się zepsuć? Zapisujesz kopię na pendrive lub w chmurze. Robisz to, ponieważ wiesz, że utrata tej pracy byłaby katastrofą.
Baza danych to serce każdej aplikacji. Przechowuje wszystkie informacje: o użytkownikach, produktach, zamówieniach, wypożyczeniach. Jej utrata (spowodowana awarią dysku, błędem ludzkim czy atakiem) może oznaczać koniec działalności firmy. Kopia zapasowa (backup) to Twoja polisa ubezpieczeniowa. To "zapisany na pendrive" stan całej bazy danych, który pozwala ją odtworzyć w razie awarii.
Twoja baza danych jest tak wartościowa, jak jej ostatnia, sprawdzona i działająca kopia zapasowa. Nigdy nie lekceważ regularnego backupu!
Celem jest nauka tworzenia i odtwarzania kopii zapasowych bazy danych biblioteka. Poznasz dwie metody: z użyciem narzędzia wiersza poleceń mysqldump (idealne do automatyzacji) oraz za pomocą klienta graficznego HeidiSQL (wygodne do jednorazowych zadań).
mysqldump)mysqldump to program, który "czyta" bazę danych i generuje plik tekstowy .sql zawierający wszystkie polecenia potrzebne do jej odtworzenia od zera.
backup_db.
mysqldump -u root -p --routines --triggers biblioteka > C:\backup_db\biblioteka_backup.sql
      
      root. Wpisz je i zatwierdź.mysqldump: Nazwa programu, który wykonuje zrzut.-u root -p: Logujemy się jako użytkownik root i deklarujemy, że podamy hasło.--routines --triggers: To ważne flagi, które mówią: "oprócz tabel i danych, dołącz do kopii także procedury składowane i wyzwalacze" (zaawansowane elementy bazy danych). Warto je dodawać zawsze.biblioteka: Nazwa bazy danych, której kopię chcemy utworzyć.>: Operator przekierowania. Cały tekstowy wynik działania programu, zamiast na ekran, zostanie zapisany do pliku po prawej stronie.C:\backup_db\biblioteka_backup.sql: Pełna ścieżka do pliku docelowego.Przejdź do folderu C:\backup_db i otwórz plik biblioteka_backup.sql w dowolnym edytorze tekstu (np. Notatnik lub VS Code). Zobaczysz w nim:
DROP TABLE IF EXISTS ...; - usuwające stare wersje tabel.CREATE TABLE ...; - odtwarzające strukturę tabel.INSERT INTO ... VALUES (...); - wstawiające wszystkie Twoje dane.Plik ten to kompletny, samodzielny "przepis" na odtworzenie Twojej bazy danych.
Teraz przeprowadzimy kontrolowaną "katastrofę", aby przetestować naszą kopię zapasową.
mysql -u root -p.biblioteka.DROP DATABASE biblioteka;
      CREATE DATABASE biblioteka;
      exit;.
mysql -u root -p biblioteka < C:\backup_db\biblioteka_backup.sql
      
      Zwróć uwagę na operator < - tym razem "wlewa" on zawartość pliku do programu mysql.
USE biblioteka; a następnie SHOW TABLES;. Wszystkie Twoje tabele powinny wrócić!HeidiSQL oferuje wygodny interfejs graficzny do tych samych operacji.
biblioteka i wybierz "Eksportuj bazę danych jako SQL".Utwórz (aby dodać CREATE TABLE) oraz Usuń (aby dodać DROP TABLE IF EXISTS - to dobra praktyka, zapobiega błędom przy odtwarzaniu).C:\backup_db\biblioteka_heidisql.sql.Plik -> Wczytaj plik SQL...) i uruchomić cały skrypt (klawisz F9).Ukończyłeś kompletny cykl ćwiczeń z projektowania i zarządzania bazami danych. Przeszedłeś drogę od zera – instalacji serwera, przez jego zabezpieczenie, projektowanie schematu, normalizację, tworzenie relacji, zaawansowane zapytania SQL, aż po kluczową umiejętność tworzenia kopii zapasowych.
Posiadasz teraz solidne, praktyczne fundamenty, które są niezbędne w pracy każdego specjalisty IT. Dalsza nauka to już kwestia praktyki i realizowania coraz bardziej złożonych projektów. Powodzenia!