DB
Tworzenie kopii zapasowych struktury bazy danych
Backup, automatyzacja, testy przywracania · INF.03
Teoria Po co backupy?
- Kopia zapasowa to zabezpieczenie przed utratą danych przez awarie, błędy lub ataki
- Przywrócenie backupu pozwala odtworzyć całą strukturę (tabele, relacje, constraints) oraz dane
- Automatyzacja backupów eliminuje ludzkie zapominalstwo — warto stosować harmonogramy i testy przywracania
- Backup struktury (schema only) zapisuje same polecenia CREATE, bez danych!
Ćwiczenie 1 Ręczny backup struktury MySQL
Krok po kroku:
- Zaloguj się do serwera MySQL
- Wykonaj polecenie:
mysqldump -u root -p --no-data szkola > szkola_struct.sql - Plik szkola_struct.sql zawiera CAŁĄ strukturę — bez danych
-- szkola_struct.sql: CREATE TABLE `uczniowie` ( `id` int NOT NULL AUTO_INCREMENT, `imie` varchar(30) NOT NULL, -- ... itd. PRIMARY KEY (`id`) ); /* ...pozostałe tabele... */
Ćwiczenie 2 Backup Access: eksport schematu do pliku
Opis: Access/MDB/ACCDB — Strona „Plik” → Eksportuj → Kopia zapasowa bazy → tylko struktura (bez danych).
Menu → Plik → Zapisz jako → Kopia zapasowa bazy danych lub Narzędzia bazy danych → Relacje → Dokumentacja bazy
Ćwiczenie 3 Automatyzacja backupów na serwerze
Przykład crontab w Linux: Codzienna kopia tylko struktury:
0 3 * * * mysqldump -u root --password=HASLO --no-data szkola > /backup/szkola_struct_$(date +\%F).sql # Raz dziennie o 3:00 w nocy!
Ćwiczenie 4 Test przywracania struktury
Zadanie: Odtwórz bazę z backupu:
- Utwórz pustą bazę (np.
szkola_test) - Załaduj plik schematu:
mysql -u root -p szkola_test < szkola_struct.sql - Sprawdź: tabele, relacje, constraints — gotowe do pracy!
mysql> CREATE DATABASE szkola_test; mysql> USE szkola_test; mysql> SOURCE szkola_struct.sql; -- struktura zaimportowana, brak danych — możesz załadować osobno backup INSERTów!
Quiz Sprawdź wiedzę o backupie!
- Jak utworzyć backup tylko struktury (bez danych) w MySQL?
- Kiedy przydaje się backup schematu?
- Co należy zawsze sprawdzić po przywróceniu backupu?
- Jak zautomatyzować backupy?
- mysqldump --no-data baza > plik.sql
- Przy rozwoju projektu, migracjach i po dużych zmianach struktury
- Tabele, relacje, constraints — czy wszystko działa tak jak w oryginale
- Skrypty harmonogramu (crontab), narzędzia SQL/Access/cron
Checklista Sprawdź umiejętności
- Wykonuję kopie struktury bazy (mysqldump, eksport)
- Testuję przywracanie — nowa baza, załadunek pliku struktury
- Automatyzuję backup przez harmonogram lub narzędzia
- Dbam o bezpieczeństwo kopii i dokumentację procesu
Materiały: INF.03 — Backup, testy, struktura bazy · Autor: Tomasz Puchała © 2025