Інструкція з управління і міграції файлів баз даних у ServBay
ServBay — це потужне локальне середовище для веб-розробки, яке інтегрує популярні системи управління базами даних та забезпечує стандартизоване управління їхніми файлами даних. Розуміння структури стандартного зберігання файлів баз даних ServBay є критично важливим для розробників, які займаються резервним копіюванням, відновленням і перенесенням даних.
У цьому документі докладно описано стандартну структуру зберігання файлів баз даних у ServBay, а також надано інструкції щодо управління файлами баз даних і міграції між різними середовищами за допомогою стандартних командних інструментів.
TIP
ServBay пропонує функції автоматичного та ручного резервного копіювання і відновлення для баз даних MySQL, MariaDB, PostgreSQL. Докладніше у розділі Резервне копіювання та відновлення.
Стандартна структура зберігання файлів баз даних у ServBay
Для зручного управління та ізоляції даних різних версій СУБД, ServBay зберігає всі файли даних баз даних у каталозі /Applications/ServBay/db. У цьому каталозі дані розподіляються за типом бази даних, а всередині кожної категорії — за основною (major) версією.
Приклад типової структури каталогу /Applications/ServBay/db:
/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
└── redis1
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
Опис структури каталогів
/Applications/ServBay/db: основний каталог для всіх файлів баз даних ServBay.mysql: містить файли даних MySQL. Підкаталоги відповідають основним версіям (8.0,8.1тощо).mariadb: містить файли даних MariaDB. Підкаталоги організовано за основними версіями (10.11,11.3тощо).postgresql: містить дані PostgreSQL; підкаталоги — це основні версії (15,16тощо).redis: містить файл стійкості Redis, зазвичайdump.rdb.
Така структура дозволяє одночасно встановлювати й запускати кілька основних версій однієї СУБД, їхні дані ізольовані та не заважають одне одному.
Управління файлами баз даних
Під час розробки часто виникає потреба в резервному копіюванні, відновленні або переносі баз даних. Нижче наведено способи виконання цих операцій за допомогою стандартних командних утиліт. Зазвичай ці дії потрібно здійснювати через термінал ServBay або переконатися, що змінні середовища PATH містять каталог ServBay bin, для коректної роботи клієнтів баз даних.
Резервне копіювання бази даних
Регулярне створення резервних копій — ключ до безпеки ваших даних. Ось як можна зробити бекап для різних типів баз даних у ServBay.
Резервне копіювання MySQL
Стандартний спосіб резервного копіювання MySQL — використання інструменту mysqldump.
bash
# Перейдіть у термінал ServBay або переконайтеся, що PATH містить ServBay bin
# Наприклад: export PATH="/Applications/ServBay/bin:$PATH"
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql1
2
3
4
2
3
4
your_username: ваш логін до бази даних.your_database: назва бази даних, яку відповідаєте резервувати./Applications/ServBay/backup/your_database.sql: шлях і назва для зберігання копії. Рекомендується зберігати бекап за межами каталогу ServBay, наприклад, у вашому домашньому каталозі.
Резервне копіювання MariaDB
Резервне копіювання MariaDB виконується аналогічно MySQL за допомогою mysqldump.
bash
# Перейдіть у термінал ServBay або переконайтеся, що PATH містить ServBay bin
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql1
2
3
2
3
- Пояснення параметрів такі самі, як вище.
Резервне копіювання PostgreSQL
Для резервного копіювання PostgreSQL використовуйте утиліту pg_dump. У ServBay, як правило, підключення відбувається через Unix Domain Socket за шляхом /Applications/ServBay/tmp, тому потрібно зазначати параметр -h /Applications/ServBay/tmp.
bash
# Перейдіть у термінал ServBay або переконайтеся, що PATH містить ServBay bin
pg_dump -h /Applications/ServBay/tmp -U your_username -d your_database -F c -b -v -f /Applications/ServBay/backup/your_database.dump1
2
3
2
3
- Параметри підключення:
- macOS:
-h /Applications/ServBay/tmp(шлях сокета Unix) - Windows:
-h localhost -p 5432(TCP-з'єднання)
- macOS:
-U your_username: логін користувача БД.-d your_database: назва резервованої БД.-F c: власний формат архіву (рекомендовано).-b: включити великі об'єкти (blobs).-v: докладний вивід.-f /Applications/ServBay/backup/your_database.dump: шлях і ім'я файлу бекапу.
Резервне копіювання Redis
Бекап Redis зазвичай полягає у копіюванні стійкого файлу dump.rdb.
bash
# Перейдіть у термінал ServBay
# Переконайтеся, що Redis запущено чи налаштовано автозбереження (BGSAVE)
cp /Applications/ServBay/db/redis/dump.rdb /Applications/ServBay/backup/dump.rdb1
2
3
4
2
3
4
/Applications/ServBay/db/redis/dump.rdb: стандартний шлях до файлу Redis./Applications/ServBay/backup/dump.rdb: шлях і ім'я резервного файлу на ваш вибір.
Відновлення бази даних
У випадках втрати чи повернення до попереднього стану допомагає відновлення з резервної копії.
Відновлення MySQL
Для відновлення даних MySQL використовуйте клієнт mysql.
bash
# Перейдіть у термінал ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql1
2
3
2
3
your_username: логін користувача.your_database: ім'я бази даних для відновлення. Базу, як правило, треба створити заздалегідь./Applications/ServBay/backup/your_database.sql: шлях до резервної копії.
Відновлення MariaDB
Відновлення MariaDB виконується так само, як MySQL — через клієнт mysql.
bash
# Перейдіть у термінал ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql1
2
3
2
3
- Пояснення параметрів такі ж, як вище.
Відновлення PostgreSQL
Для відновлення PostgreSQL з власного формату використовуйте pg_restore, вказавши шлях сокета.
bash
# Перейдіть у термінал ServBay
pg_restore -h /Applications/ServBay/tmp -U your_username -d your_database -v /Applications/ServBay/backup/your_database.dump1
2
3
2
3
- Параметри підключення:
- macOS:
-h /Applications/ServBay/tmp(шлях сокета) - Windows:
-h localhost -p 5432(TCP)
- macOS:
-U your_username: логін БД.-d your_database: ім'я бази даних для відновлення (має бути створена).-v: докладна інформація.- Файл резервної копії — замініть на свій шлях:
- macOS:
/Applications/ServBay/backup/your_database.dump - Windows:
C:\ServBay\backup\your_database.dump
- macOS:
Відновлення Redis
Відновлення Redis здійснюється копіюванням файлу dump.rdb назад у каталог даних. Важливо: перед цим слід зупинити сервіс Redis.
bash
# Перейдіть у термінал ServBay
# Зупиніть Redis у ServBay
# Скопіюйте резервний файл
cp /Applications/ServBay/backup/dump.rdb /Applications/ServBay/db/redis/dump.rdb
# Запустіть Redis у ServBay1
2
3
4
5
2
3
4
5
/Applications/ServBay/backup/dump.rdb: шлях до вашої резервної копії./Applications/ServBay/db/redis/dump.rdb: стандартний шлях для Redis.
Міграція бази даних
Міграція — це процес перенесення бази даних із одного середовища (іншого інстансу ServBay, віддаленого сервера чи іншої локальної системи) до іншого. Це зазвичай включає експорт із джерела та імпорт у цільове середовище.
Міграція MySQL
Міграція MySQL — поширена задача в розробці.
Експорт бази з джерела:
bash# Виконайте у терміналі джерела mysqldump -u your_source_username -p your_database > your_database.sql1
2your_source_username: логін у БД джерела.your_database: ім'я бази для переносу.your_database.sql: ім'я експортного SQL-файлу.
Передача SQL-файлу у цільове середовище: використайте
scpчи аналогічний інструмент для копіюванняyour_database.sqlу каталог, доступний для ServBay (наприклад,/Applications/ServBay/backup/).Створення бази у цільовому ServBay:
bash# Виконайте у терміналі ServBay mysql -u your_target_username -p -e "CREATE DATABASE your_database;"1
2your_target_username: логін у цільовому середовищі.your_database: створювана база даних, бажано з однаковою назвою.
Імпорт бази у цільовий ServBay:
bash# Виконайте у терміналі ServBay mysql -u your_target_username -p your_database < /path/to/your_database.sql1
2/path/to/your_database.sql: фактичний шлях SQL-файлу в середовищі ServBay.
Міграція MariaDB
Міграція MariaDB відбувається аналогічно MySQL, оскільки використовується той самий інструментарій і формати.
- Експортуєте базу у джерелі:bash
# Виконуйте у терміналі джерела mysqldump -u your_source_username -p your_database > your_database.sql1
2 - Передаєте SQL-файл у цільове середовище.
- Створюєте базу у ServBay:bash
# Виконуйте у терміналі ServBay mysql -u your_target_username -p -e "CREATE DATABASE your_database;"1
2 - Імпортуєте базу даних:bash
# Виконуйте у терміналі ServBay mysql -u your_target_username -p your_database < /path/to/your_database.sql1
2
Міграція PostgreSQL
Міграція PostgreSQL виконується через pg_dump і pg_restore, із урахуванням спеціального шляху сокета ServBay.
Експортуєте дані із джерела:
bash# Виконайте у терміналі джерела # Якщо джерело — ServBay pg_dump -h /Applications/ServBay/tmp -U your_source_username -d your_database -F c -b -v -f your_database.dump # Якщо інша система — змініть параметри підключення відповідно до її налаштувань1
2
3
4your_source_username: логін у БД джерела.your_database: ім'я експортованої бази.your_database.dump: ім'я файлу резервної копії.
Передаєте бекап-файл у цільовий ServBay: використайте
scpчи інший інструмент для копіювання.Створюєте базу даних у цільовому ServBay:
bash# Виконайте у терміналі ServBay # Підключіться до postgres для створення нової бази psql -h /Applications/ServBay/tmp -U your_target_username -d postgres -c "CREATE DATABASE your_database;"1
2
3your_target_username: користувач у цільовому ServBay.your_database: створювана база.
Відновлення даних у цільовому ServBay:
bash# Виконайте у терміналі ServBay pg_restore -h /Applications/ServBay/tmp -U your_target_username -d your_database -v /path/to/your_database.dump1
2/path/to/your_database.dump: шлях до файлу бекапу у ServBay.
Міграція Redis
Міграція Redis — це пряме копіювання файлу dump.rdb.
Заберіть файл
dump.rdbіз джерела:bash# Виконайте у терміналі джерела # Переконайтеся, що Redis зупинено, або дочекайтесь завершення BGSAVE cp /path/to/source/redis/dump.rdb ./dump.rdb1
2
3Передайте файл у каталог даних Redis на цільовому ServBay:
bash# Виконайте у терміналі чи через проміжний сервер scp ./dump.rdb your_target_server:/Applications/ServBay/db/redis/dump.rdb1
2your_target_server: адреса чи ім'я хоста, де працює ServBay.- Важливо: перш ніж копіювати у
/Applications/ServBay/db/redis/, обов'язково зупиніть Redis у ServBay.
Запустіть Redis у цільовому ServBay: при запуску Redis автоматично підхопить актуальний
dump.rdb.
Важливі моменти
- Зупиняйте сервіси: ПЕРЕД копіюванням чи перенесенням файлів даних (особливо для директорій MySQL/MariaDB/PostgreSQL), обов'язково зупиніть відповідний сервіс через GUI ServBay або командний рядок. Копіювання файлів бази даних під час роботи сервісу може призвести до пошкодження чи втрати даних. Для Redis також потрібно зупинити сервіс до операцій з
dump.rdb. - Права доступу: Переконайтеся, що ваш користувач має необхідні права для копіювання, переміщення або імпорту файлів до відповідних каталогів.
- Шляхи до файлів: Уважно перевіряйте шлях установки ServBay (типово
/Applications/ServBay), а також шляхи та назви каталогів/файлів, особливо між різними версіями баз даних. - Користувачі та права: Після переносу перевірте та, у разі потреби, оновіть користувачів, права і конфігураційні файли для коректної роботи у новому середовищі.
- Вбудоване резервне копіювання ServBay: ServBay має вбудовані засоби резервного копіювання через GUI, що дозволяє створювати копії налаштувань, сайтів, баз даних та SSL-сертифікатів. Це може доповнювати або заміняти ручне управління файлами.
Висновок
Завдяки впорядкованій структурі каталогів ServBay забезпечує прозору та надійну основу для управління файлами баз даних. У цьому матеріалі описано, де і як розміщуються файли MySQL, MariaDB, PostgreSQL і Redis у ServBay, а також наведено практичні інструкції зі стандартних інструментів для резервного копіювання, відновлення та міграції. Опановуючи ці навички, ви забезпечите надійність і ефективність управління даними у локальному середовищі та зможете швидко переносити проекти між різними майданчиками. А використання додаткових функцій ServBay, таких як вбудоване резервне копіювання, ще більше підвищить ваш комфорт і продуктивність у повсякденній роботі розробника.
