Przewodnik po zarządzaniu plikami baz danych i migracji w ServBay
ServBay to zaawansowane, lokalne środowisko do tworzenia aplikacji webowych, które integruje wiele popularnych systemów zarządzania bazami danych i standaryzuje sposób zarządzania ich plikami. Dobre zrozumienie domyślnej struktury plików baz danych w ServBay jest kluczowe dla deweloperów chcących skutecznie wykonywać kopie zapasowe, przywracanie i migracje danych.
W tym artykule szczegółowo wyjaśniamy domyślną strukturę składowania plików baz danych w ServBay oraz przedstawiamy praktyczne wskazówki dotyczące ich zarządzania i migracji pomiędzy różnymi środowiskami z użyciem narzędzi wiersza poleceń.
TIP
ServBay oferuje wbudowane funkcje tworzenia kopii zapasowych i przywracania danych – możesz wykonywać automatyczne lub ręczne kopie zapasowe baz MySQL, MariaDB i PostgreSQL. Zobacz Kopie zapasowe i przywracanie, aby dowiedzieć się więcej.
Domyślna struktura katalogów plików baz danych w ServBay
Aby uprościć zarządzanie i izolację danych dla różnych wersji baz danych, ServBay przechowuje wszystkie pliki danych baz w jednym głównym katalogu: /Applications/ServBay/db
. Struktura wewnętrzna katalogu opiera się najpierw na typie bazy, a następnie – w ramach każdego typu – na numerze głównej wersji (major version).
Przykładowa struktura katalogu /Applications/ServBay/db
wygląda następująco:
/Applications/ServBay/db
├── mysql
│ ├── 8.0
│ └── 8.1
├── mariadb
│ ├── 10.10
│ ├── 10.11
│ ├── 10.5
│ ├── 10.6
│ ├── 10.7
│ ├── 10.8
│ ├── 10.9
│ ├── 11.0
│ ├── 11.1
│ ├── 11.2
│ └── 11.3
├── postgresql
│ ├── 10
│ ├── 11
│ ├── 12
│ ├── 13
│ ├── 14
│ ├── 15
│ └── 16
└── redis
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Objaśnienie struktury katalogów
/Applications/ServBay/db
: Główny katalog dla wszystkich plików baz danych w ServBay.mysql
: Przechowuje pliki danych baz MySQL. Każda wersja posiada osobny podkatalog (np.8.0
,8.1
).mariadb
: Przechowuje pliki danych baz MariaDB z podziałem na główne wersje (np.10.11
,11.3
).postgresql
: Przechowuje pliki danych baz PostgreSQL, również z podziałem na główne wersje (np.15
,16
).redis
: Miejsce na pliki trwałościowe Redis – najczęściejdump.rdb
.
Taka organizacja umożliwia jednoczesną instalację i uruchamianie kilku wersji tej samej bazy w ServBay, bez ryzyka konfliktów w danych – każda wersja pracuje na odrębnym, niezależnym zbiorze plików.
Zarządzanie plikami baz danych
Podczas pracy deweloperskiej na lokalnym środowisku często pojawia się potrzeba wykonania backupu, przywrócenia lub migracji bazy danych. Poniżej opisujemy, jak wykonać te operacje z użyciem standardowych narzędzi wiersza poleceń dla poszczególnych baz. Uwaga: aby mieć dostęp do wszystkich wymaganych klienta i narzędzi, operacje najlepiej wykonywać w terminalu ServBay lub po dostosowaniu zmiennej środowiskowej PATH, by wskazywała katalog z binarkami ServBay.
Tworzenie kopii zapasowej bazy danych
Regularne wykonywanie kopii zapasowych to podstawa bezpieczeństwa danych. Oto przykłady procedur backupu dla poszczególnych baz danych w ServBay.
Backup MySQL
Najbardziej powszechnym sposobem robienia backupu MySQL jest narzędzie mysqldump
.
bash
# Przejdź do terminala ServBay lub zadbaj o obecność /Applications/ServBay/bin w PATH
# Przykład: export PATH="/Applications/ServBay/bin:$PATH"
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql
1
2
3
4
2
3
4
your_username
: Twój użytkownik bazy MySQL.your_database
: Nazwa bazy do backupu./Applications/ServBay/backup/your_database.sql
: Ścieżka i nazwa pliku backupu. Zaleca się przechowywać kopię poza katalogiem ServBay, np. w katalogu domowym użytkownika.
Backup MariaDB
Backup dla MariaDB wykonuje się analogicznie, również za pomocą mysqldump
.
bash
# Przejdź do terminala ServBay lub zadbaj o obecność /Applications/ServBay/bin w PATH
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- Objaśnienia parametrów jak wyżej.
Backup PostgreSQL
Backup dla PostgreSQL tworzony jest narzędziem pg_dump
. W środowisku ServBay domyślnie łączy się z serwerem przez Unix Domain Socket, który znajduje się w /Applications/ServBay/tmp
. Stąd w poleceniu stosujemy -h /Applications/ServBay/tmp
.
bash
# Przejdź do terminala ServBay lub zadbaj o obecność /Applications/ServBay/bin w PATH
pg_dump -h /Applications/ServBay/tmp -U your_username -d your_database -F c -b -v -f /Applications/ServBay/backup/your_database.dump
1
2
3
2
3
-h /Applications/ServBay/tmp
: Ścieżka do socketu PostgreSQL.-U your_username
: Użytkownik bazy PostgreSQL.-d your_database
: Nazwa bazy do backupu.-F c
: Format pliku backupu – archiwum własne PostgreSQL (zalecane).-b
: Uwzględnij duże obiekty (blobs).-v
: Tryb szczegółowy.-f /Applications/ServBay/backup/your_database.dump
: Lokalizacja pliku backupu.
Backup Redis
Backup Redis najczęściej polega na skopiowaniu pliku trwałościowego dump.rdb
.
bash
# Przejdź do terminala ServBay
# Upewnij się, że Redis działa lub skonfiguruj automatyczne zapisywanie (BGSAVE)
cp /Applications/ServBay/db/redis/dump.rdb /Applications/ServBay/backup/dump.rdb
1
2
3
4
2
3
4
/Applications/ServBay/db/redis/dump.rdb
: Domyślna ścieżka pliku Redis./Applications/ServBay/backup/dump.rdb
: Docelowa lokalizacja backupu.
Przywracanie bazy danych
W przypadku utraty danych lub konieczności powrotu do wcześniejszego stanu służą do tego pliki backupów.
Przywracanie MySQL
Do przywracania backupu MySQL używamy narzędzia mysql
.
bash
# Przejdź do terminala ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
your_username
: Użytkownik bazy.your_database
: Nazwa bazy danych do przywrócenia (musi zostać wcześniej utworzona)./Applications/ServBay/backup/your_database.sql
: Lokalizacja pliku backupu.
Przywracanie MariaDB
Procedura przywracania MariaDB jest identyczna jak dla MySQL, polegając na użyciu klienta mysql
.
bash
# Przejdź do terminala ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- Objaśnienia parametrów jak wyżej.
Przywracanie PostgreSQL
Do przywracania backupów (własny format PostgreSQL) należy użyć narzędzia pg_restore
, pamiętając o podaniu ścieżki socketu.
bash
# Przejdź do terminala ServBay
pg_restore -h /Applications/ServBay/tmp -U your_username -d your_database -v /Applications/ServBay/backup/your_database.dump
1
2
3
2
3
-h /Applications/ServBay/tmp
: Ścieżka do socketu PostgreSQL.-U your_username
: Użytkownik PostgreSQL.-d your_database
: Nazwa docelowej bazy (tworzonej wcześniej).-v
: Tryb szczegółowy./Applications/ServBay/backup/your_database.dump
: Plik backupu.
Przywracanie Redis
Przywracanie w Redis to po prostu skopiowanie pliku dump.rdb
do katalogu danych Redis.
Uwaga: przed wykonaniem tej operacji należy zatrzymać usługę Redis!
bash
# Przejdź do terminala ServBay
# Zatrzymaj usługę Redis w ServBay
# Skopiuj plik backupu
cp /Applications/ServBay/backup/dump.rdb /Applications/ServBay/db/redis/dump.rdb
# Uruchom na nowo serwis Redis w ServBay
1
2
3
4
5
2
3
4
5
/Applications/ServBay/backup/dump.rdb
: Backup./Applications/ServBay/db/redis/dump.rdb
: Lokalizacja docelowa.
Migracja baz danych
Migracja oznacza przeniesienie bazy między środowiskami – np. inną instancją ServBay, serwerem zdalnym czy innym środowiskiem lokalnym. Typowy scenariusz obejmuje eksport z jednego środowiska i import w docelowym.
Migracja MySQL
Przejdź do instrukcji migracji MySQL
Eksport bazy z systemu źródłowego:
bash# W terminalu systemu źródłowego mysqldump -u your_source_username -p your_database > your_database.sql
1
2your_source_username
: Użytkownik bazy w systemie źródłowym.your_database
: Baza danych do migracji.your_database.sql
: Nazwa wyeksportowanego pliku SQL.
Przenieś plik SQL do środowiska docelowego: Użyj
scp
lub innego narzędzia – zapisz plik tam, gdzie dostęp ma środowisko docelowe (np./Applications/ServBay/backup/
).Stwórz bazę danych w docelowym ServBay:
bash# W terminalu docelowego ServBay mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2your_target_username
: Użytkownik docelowy.your_database
: Tworzona baza danych (najlepiej zgodna z nazwą źródła).
Importuj dane do nowej bazy w ServBay:
bash# W terminalu docelowego ServBay mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2/path/to/your_database.sql
: Ścieżka do pliku SQL w środowisku docelowym.
Migracja MariaDB
Przejdź do instrukcji migracji MariaDB – procedura identyczna do MySQL.
- Eksport z systemu źródłowego:bash
# W terminalu systemu źródłowego mysqldump -u your_source_username -p your_database > your_database.sql
1
2 - Przenieś plik SQL do środowiska docelowego.
- Stwórz bazę w nowym środowisku:bash
# W terminalu docelowego ServBay mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2 - Importuj dane:bash
# W terminalu docelowego ServBay mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2
Migracja PostgreSQL
Przejdź do instrukcji migracji PostgreSQL – tu stosujemy pg_dump
i pg_restore
, pamiętając o ścieżkach socketu.
Eksport z systemu źródłowego:
bash# W terminalu systemu źródłowego # Jeśli źródło to ServBay: pg_dump -h /Applications/ServBay/tmp -U your_source_username -d your_database -F c -b -v -f your_database.dump # W innych systemach – dostosuj parametry połączenia
1
2
3
4your_source_username
: Nazwa użytkownika źródła.your_database
: Baza do migracji.your_database.dump
: Nazwa pliku backupu.
Przenieś plik backupu do docelowego ServBay: np. przez
scp
, do katalogu dostępnego w ServBay.Stwórz nową bazę w docelowym środowisku:
bash# W terminalu docelowego ServBay # Połącz się do domyślnej bazy postgres celem utworzenia nowej psql -h /Applications/ServBay/tmp -U your_target_username -d postgres -c "CREATE DATABASE your_database;"
1
2
3your_target_username
: Użytkownik docelowy.your_database
: Nazwa nowej bazy.
Przywróć backup do nowej bazy:
bash# W terminalu docelowego ServBay pg_restore -h /Applications/ServBay/tmp -U your_target_username -d your_database -v /path/to/your_database.dump
1
2/path/to/your_database.dump
: Rzeczywista ścieżka do backupu.
Migracja Redis
Migracja Redis sprowadza się zwykle do skopiowania pliku dump.rdb
.
Pobierz plik
dump.rdb
w środowisku źródłowym:bash# W terminalu systemu źródłowego # Upewnij się, że Redis został zatrzymany lub poczekaj aż BGSAVE się zakończy cp /path/to/source/redis/dump.rdb ./dump.rdb
1
2
3Przenieś plik
dump.rdb
do katalogu danych Redis w docelowym ServBay:bash# W systemie źródłowym lub z pośrednika: scp ./dump.rdb your_target_server:/Applications/ServBay/db/redis/dump.rdb
1
2your_target_server
: Adres IP lub nazwa hosta docelowego ServBay.- Uwaga: przed skopiowaniem, zatrzymaj Redis w docelowym ServBay!
Uruchom bazę Redis w ServBay:
Po starcie, Redis automatycznie załaduje nowy plikdump.rdb
.
Wskazówki i dobre praktyki
- Zatrzymanie usług: Przed bezpośrednim kopiowaniem lub przenoszeniem katalogów z danymi (szczególnie MySQL/MariaDB/PostgreSQL), bezwzględnie należy zatrzymać odpowiednią usługę bazy przez GUI lub CLI ServBay. Kopiowanie aktywnych plików skutkuje możliwą utratą lub uszkodzeniem danych. W Redis przed przywróceniem
dump.rdb
również zatrzymaj usługę. - Uprawnienia: Operator musi mieć odpowiednie uprawnienia do kopiowania, przesyłania lub importu plików.
- Ścieżki plików: Upewnij się co do poprawności ścieżki instalacji ServBay (domyślnie
/Applications/ServBay
) oraz lokalizacji katalogów danych wewnątrz tej struktury, szczególnie dla różnych wersji baz. - Użytkownicy i uprawnienia: Po migracji sprawdź użytkowników, prawa dostępu oraz pliki konfiguracyjne – mogą wymagać dostosowania do nowego środowiska.
- Wbudowany backup ServBay: ServBay udostępnia wygodne narzędzia GUI do backupu i przywracania ustawień, stron, baz danych i certyfikatów SSL, które mogą uzupełnić lub zastąpić ręczne zarządzanie plikami.
Podsumowanie
ServBay dzięki uporządkowanej strukturze katalogów zapewnia przejrzyste i efektywne zarządzanie plikami baz danych dla deweloperów. W tym artykule omówiliśmy, gdzie przechowywane są pliki danych dla MySQL, MariaDB, PostgreSQL i Redis w ServBay oraz jak wykorzystać standardowe narzędzia wiersza poleceń do backupu, przywracania i migracji danych. Opanowanie opisanych procedur ułatwi zarządzanie danymi w Twoim lokalnym środowisku deweloperskim, zwiększy bezpieczeństwo i usprawni migrację między różnymi środowiskami. Uzupełniając te działania funkcjami wbudowanymi ServBay (np. backup z GUI), możesz jeszcze bardziej podnieść komfort i bezpieczeństwo pracy nad projektami.