Руководство по управлению файлами и миграции баз данных 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 или корректно настраивать переменные окружения, чтобы инструменты баз данных запускались напрямую.
Резервное копирование баз данных
Регулярное резервное копирование — ключевой шаг для сохранности данных. Вот как создать резервные копии разных типов баз в 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 или настройте PATH
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- Описание параметров — как выше.
Резервное копирование PostgreSQL
Для PostgreSQL используйте pg_dump
. Обычно команда подключается через 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
- Параметры подключения:
- macOS:
-h /Applications/ServBay/tmp
(Unix Domain Socket) - Windows:
-h localhost -p 5432
(TCP)
- macOS:
-U your_username
: имя пользователя БД.-d your_database
: название базы.-F c
: формат архива — рекомендуется custom.-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:
bash
# Переключитесь в терминал ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- Описание параметров — см. выше.
Восстановление PostgreSQL
Для восстановления custom архива используйте pg_restore
, указывая сокет через -h /Applications/ServBay/tmp
.
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
- Параметры подключения:
- macOS:
-h /Applications/ServBay/tmp
(Unix Domain Socket) - 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 снова
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
в доступную для ServBay папку (например,/Applications/ServBay/backup/
).Создайте базу в целевой ServBay:
bash# В терминале ServBay mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2your_target_username
: пользователь целевой среды ServBay.your_database
: имя новой базы (лучше совпадает с исходной).
Импортируйте базу в ServBay:
bash# В терминале ServBay 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
# В терминале ServBay mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2 - Импортируйте в базу в ServBay:bash
# В терминале ServBay 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
: имя пользователя целевого ServBay.your_database
: название новой базы.
Импортируйте базу в ServBay:
bash# В терминале 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
: путь к архиву в целевой среде.
Миграция Redis
Для Redis миграция — это прямое копирование файла dump.rdb
.
Получить файл
dump.rdb
в исходной среде:bash# В исходном терминале # Остановите Redis либо дождитесь завершения BGSAVE cp /path/to/source/redis/dump.rdb ./dump.rdb
1
2
3Передайте файл в целевой ServBay в папку для Redis:
bash# На исходном сервере или через промежуточную машину scp ./dump.rdb your_target_server:/Applications/ServBay/db/redis/dump.rdb
1
2your_target_server
: адрес или хост целевого ServBay.- Важно: до копирования в
/Applications/ServBay/db/redis/
, убедитесь, что на целевом сервере Redis остановлен.
Запустите Redis в целевой среде: сервис 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, включая встроенное резервное копирование, заметно повышает вашу эффективность и удобство при работе с данными.