Посібник з керування файлами баз даних і міграції у ServBay
ServBay — це потужне локальне середовище для веб-розробки, яке інтегрує популярні системи керування базами даних і забезпечує впорядковане зберігання їхніх файлів даних. Розуміння стандартної структури розміщення файлів баз даних у ServBay є критично важливим для резервного копіювання, відновлення та міграції даних розробника.
У цьому документі детально описано стандартну структуру зберігання файлів баз даних у ServBay, а також наведено інструкції з керування файлами баз даних та міграції між різними середовищами за допомогою стандартних інструментів командного рядка.
TIP
ServBay пропонує функції резервного копіювання і відновлення. Ви можете автоматично або вручну створювати резервні копії баз даних MySQL, MariaDB і PostgreSQL. Дізнайтеся більше у розділі Резервне копіювання та відновлення.
Стандартна структура зберігання файлів баз даних у ServBay
Для зручності керування і ізоляції даних різних версій баз даних, ServBay зберігає всі файли даних у директорії /Applications/ServBay/db
. Вона організована за типом бази даних, а далі — за основною версією (major version).
Приклад типової структури директорії /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
└── 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
Пояснення структури директорій
/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. Файли даних ізольовано, що запобігає взаємному впливу версій.
Керування файлами баз даних
У процесі локальної розробки вам часто доводиться виконувати резервне копіювання, відновлення або міграцію баз даних. Нижче наведено інструкції з цих дій для кожної бази даних за допомогою стандартних командних інструментів. Зверніть увагу, бажано працювати у терміналі ServBay або переконатися, що в PATH додано папку ServBay bin
, щоб мати змогу прямо використовувати потрібні клієнти баз даних.
Резервне копіювання баз даних
Регулярне резервне копіювання — ключ до захисту ваших даних. Ось приклади резервного копіювання різних типів баз даних у ServBay.
Резервне копіювання MySQL
Стандартний спосіб резервування MySQL — за допомогою утиліти mysqldump
.
bash
# Перейдіть у термінал ServBay або додайте ServBay bin до PATH
# Наприклад: 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
: замініть на ваш логін до бази даних.your_database
: замініть на ім’я бази даних для копіювання./Applications/ServBay/backup/your_database.sql
: шлях і ім'я файлу збереження резервної копії. Рекомендовано зберігати файли резервних копій поза директорією ServBay, наприклад, у своїй домашній теці.
Резервне копіювання MariaDB
Процедура аналогічна до MySQL — також використовується mysqldump
.
bash
# Перейдіть у термінал ServBay або додайте ServBay bin до PATH
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- Пояснення параметрів ідентичне попередньому випадку.
Резервне копіювання PostgreSQL
Для PostgreSQL використовуйте утиліту pg_dump
. У середовищі ServBay використовується з’єднання через Unix Domain Socket за шляхом /Applications/ServBay/tmp
, тому потрібно явно вказувати параметр -h /Applications/ServBay/tmp
.
bash
# Перейдіть у термінал ServBay або додайте ServBay bin до 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
: шлях до socket-файлу PostgreSQL.-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.rdb
1
2
3
4
2
3
4
/Applications/ServBay/db/redis/dump.rdb
: стандартний шлях до файлу збереження Redis./Applications/ServBay/backup/dump.rdb
: шлях для збереження резервної копії.
Відновлення баз даних
У разі втрати даних або необхідності повернення до попереднього стану можна відновити базу з резервної копії.
Відновлення MySQL
Використовуйте клієнтський інструмент mysql
для відновлення.
bash
# Перейдіть у термінал ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
your_username
: ваш логін до бази даних.your_database
: ім’я бази даних, у яку виконується відновлення (вона має бути створена заздалегідь)./Applications/ServBay/backup/your_database.sql
: шлях до файлу резервної копії.
Відновлення MariaDB
Відновлюється так само, як і MySQL, через клієнт mysql
.
bash
# Перейдіть у термінал ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- Пояснення параметрів ідентичне.
Відновлення PostgreSQL
Використовуйте pg_restore
для відновлення резервної копії у власному форматі. Також вказуйте шлях до socket-файлу.
bash
# Перейдіть у термінал 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
: шлях до socket-файлу PostgreSQL.-U your_username
: логін до бази даних.-d your_database
: база даних для відновлення (має бути створена заздалегідь).-v
: докладний режим./Applications/ServBay/backup/your_database.dump
: шлях до файлу резервної копії.
Відновлення Redis
Для відновлення Redis потрібно скопіювати файл dump.rdb
назад до директорії даних Redis. Увага: перед цим обов’язково зупиніть сервер Redis!
bash
# Перейдіть у термінал ServBay
# Зупиніть сервіс Redis у ServBay
# Скопіюйте резервну копію
cp /Applications/ServBay/backup/dump.rdb /Applications/ServBay/db/redis/dump.rdb
# Запустіть Redis у ServBay
1
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.sql
1
2your_source_username
: логін до бази даних на джерелі.your_database
: ім’я експортованої бази.your_database.sql
: ім’я SQL-файлу.
Передайте SQL-файл на цільове середовище: За допомогою
scp
чи іншого інструменту скопіюйтеyour_database.sql
до директорії/Applications/ServBay/backup/
або іншого місця на цільовій машині.Створіть нову базу в цільовому середовищі ServBay:
bash# У цільовому терміналі mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2your_target_username
: логін до бази у ServBay на цільовому пристрої.your_database
: назва нової бази даних (зазвичай така ж, як на джерелі).
Імпортуйте дані у створену базу:
bash# У цільовому терміналі mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2/path/to/your_database.sql
: шлях до SQL-файлу на цільовій машині.
Міграція MariaDB
Міграція MariaDB повністю ідентична міграції MySQL (інструменти та формати збігаються):
- Експортуйте базу у середовищі-джерелі:bash
# У терміналі джерела mysqldump -u your_source_username -p your_database > your_database.sql
1
2 - Передайте SQL-файл на цільове середовище.
- Створіть базу в цільовому ServBay:bash
# У цільовому терміналі mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2 - Імпортуйте дані у створену базу:bash
# У цільовому терміналі mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
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
: логін до цільової системи.your_database
: ім’я бази, яку створюєте.
Виконайте імпорт даних:
bash# У цільовому терміналі 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
: шлях до файлу резервної копії на цільовому сервісі.
Міграція Redis
Міграція Redis зазвичай полягає у копіюванні файлу dump.rdb
.
Отримайте файл
dump.rdb
у середовищі-джерелі:bash# У терміналі джерела # Зупиніть Redis або дочекайтесь завершення BGSAVE cp /path/to/source/redis/dump.rdb ./dump.rdb
1
2
3Передайте файл на цільовий ServBay:
bash# На джерелі або проміжному сервері scp ./dump.rdb your_target_server:/Applications/ServBay/db/redis/dump.rdb
1
2your_target_server
: адресу чи ім’я цільового сервера (ServBay).- Увага: перед копіюванням на цільовий ServBay обов’язково зупиніть Redis сервіс на ньому!
Запустіть Redis у цільовому ServBay: Сервіс автоматично підхопить новий
dump.rdb
.
Важливі зауваження
- Зупинка сервісів: Перед копіюванням чи переміщенням файлів баз даних (особливо для MySQL/MariaDB/PostgreSQL) обов'язково зупиніть відповідний сервіс через GUI ServBay або CLI. Копіювання файлів працюючої бази може призвести до пошкодження або втрати даних. Для Redis також слід зупинити сервіс перед використанням файлу
dump.rdb
. - Права доступу: Переконайтеся, що у користувача, з-під якого виконується копіювання чи імпорт, є всі необхідні права для доступу й змін файлів та папок.
- Шляхи до файлів: Точно перевіряйте шлях встановлення ServBay (
/Applications/ServBay
за замовчуванням) і розташування файлів баз даних (особливо у різних версіях). - Користувачі та права доступу: Після перенесення даних перегляньте й оновіть користувачів, права доступу та конфігурації відповідно до нового середовища.
- Вбудоване резервування ServBay: ServBay також має зручні засоби резервного копіювання та відновлення через графічний інтерфейс, які охоплюють налаштування, сайти, бази даних і SSL-сертифікати. Це може бути хорошим доповненням або навіть альтернативою ручному керуванню файлами.
Підсумки
ServBay забезпечує чітку структуру зберігання файлів, що дозволяє розробникам легко управляти файлами баз даних. У цьому посібнику ви дізналися, де саме зберігаються MySQL, MariaDB, PostgreSQL та Redis у ServBay, як за допомогою штатних командних утиліт здійснювати резервне копіювання, відновлення та міграцію. Опановуючи ці навички, ви зможете надійно управляти локальною базою даних, вчасно робити копії, переносити проєкти між різними середовищами та забезпечувати безпеку своїх даних. А використовуючи додаткові зручності ServBay (наприклад, вбудовані резервні копії), ви підвищите свою продуктивність і ефективність роботи з даними.