Guía de gestión y migración de archivos de bases de datos en ServBay
ServBay, como un potente entorno de desarrollo web local, integra varios sistemas de gestión de bases de datos y gestiona sus archivos de datos de manera estandarizada. Comprender la estructura predeterminada de almacenamiento de archivos de bases de datos en ServBay es fundamental para que los desarrolladores realicen copias de seguridad, restauraciones y migraciones de datos.
En este documento se explica en detalle la estructura predeterminada de almacenamiento de archivos de bases de datos en ServBay y se brinda una guía para gestionar y migrar archivos de base de datos entre distintos entornos usando herramientas estándar de la línea de comandos.
TIP
ServBay ofrece funciones de respaldo y restauración de datos, permitiéndote hacer copias de seguridad de bases de datos MySQL, MariaDB y PostgreSQL de forma automática o manual. Consulta la sección de Respaldo y Restauración para obtener más información.
Estructura predeterminada de almacenamiento de archivos de base de datos en ServBay
Para facilitar la administración y aislar los datos de diferentes versiones de bases de datos, ServBay almacena todos los archivos de datos de bases de datos en el directorio /Applications/ServBay/db
. Este directorio está organizado por tipo de base de datos y, dentro de cada tipo, por versión principal (major version).
A continuación, se muestra un ejemplo típico de la estructura del directorio /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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Descripción de la estructura de directorios
/Applications/ServBay/db
: Directorio principal donde ServBay almacena todos los archivos de bases de datos.mysql
: Almacena archivos de datos de bases de datos MySQL, divididos en subdirectorios por versión principal (por ejemplo,8.0
,8.1
).mariadb
: Alberga archivos de datos de bases de datos MariaDB, con subdirectorios organizados por versión principal (por ejemplo,10.11
,11.3
).postgresql
: Contiene archivos de datos para bases de datos PostgreSQL, clasificados en subdirectorios por versión principal (como15
,16
).redis
: Guarda los archivos de persistencia de Redis, normalmente el archivodump.rdb
.
Esta estructura permite instalar y ejecutar varias versiones principales de la misma base de datos en ServBay de forma simultánea, manteniendo los archivos de datos completamente aislados entre sí.
Gestión de archivos de base de datos
Durante el desarrollo local, es común tener que respaldar, restaurar o migrar bases de datos. A continuación, se describe cómo realizar estas operaciones usando las herramientas de línea de comandos estándar de cada base de datos. Ten en cuenta que normalmente debes operar desde la terminal que provee ServBay o asegurarte de tener configuradas las variables de entorno adecuadas para acceder a los clientes y utilidades correspondientes.
Respaldar la base de datos
Hacer respaldos periódicos es clave para la seguridad de tus datos. Aquí encontrarás ejemplos para respaldar distintos tipos de bases de datos en ServBay.
Respaldar MySQL
El método estándar para respaldar bases de datos MySQL es usando la herramienta mysqldump
.
# Cambia a la terminal proporcionada por ServBay o asegúrate de que el PATH incluya el binario de ServBay
# Por ejemplo: export PATH="/Applications/ServBay/bin:$PATH"
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql
2
3
4
your_username
: Sustituye por tu nombre de usuario de la base de datos.your_database
: Sustituye por el nombre de la base de datos que quieres respaldar./Applications/ServBay/backup/your_database.sql
: Cambia la ruta y el nombre de archivo según dónde desees guardar el respaldo. Se recomienda guardar las copias fuera del directorio de ServBay, por ejemplo en tu carpeta de usuario.
Respaldar MariaDB
Para MariaDB, el procedimiento es igual que para MySQL, también utilizando la herramienta mysqldump
.
# Cambia a la terminal proporcionada por ServBay o asegúrate de que el PATH incluya el binario de ServBay
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql
2
3
- Los parámetros a utilizar son los mismos que para MySQL.
Respaldar PostgreSQL
Para realizar respaldos de bases de datos PostgreSQL se usa el comando pg_dump
. Nota que en el entorno de ServBay, PostgreSQL está configurado para utilizar sockets Unix en la ruta /Applications/ServBay/tmp
, por lo que debes especificar -h /Applications/ServBay/tmp
.
# Cambia a la terminal proporcionada por ServBay o asegúrate de que el PATH incluya el binario de ServBay
pg_dump -h /Applications/ServBay/tmp -U your_username -d your_database -F c -b -v -f /Applications/ServBay/backup/your_database.dump
2
3
-h /Applications/ServBay/tmp
: Ruta del socket de PostgreSQL.-U your_username
: Sustituye por tu usuario de base de datos.-d your_database
: Sustituye por el nombre de la base de datos a respaldar.-F c
: Especifica el formato de archivo de respaldo (custom), recomendado.-b
: Incluye objetos grandes (blobs).-v
: Muestra información detallada durante la operación.-f /Applications/ServBay/backup/your_database.dump
: Especifica la ruta y el nombre del archivo de respaldo.
Respaldar Redis
En Redis usualmente el respaldo consiste en copiar su archivo dump.rdb
.
# Cambia a la terminal proporcionada por ServBay
# Asegúrate de que Redis esté en ejecución o configurado para guardar automáticamente (BGSAVE)
cp /Applications/ServBay/db/redis/dump.rdb /Applications/ServBay/backup/dump.rdb
2
3
4
/Applications/ServBay/db/redis/dump.rdb
: Ruta predeterminada del archivo de persistencia de Redis./Applications/ServBay/backup/dump.rdb
: Modifica según la ubicación y el nombre bajo el que desees guardar tu respaldo.
Restaurar la base de datos
Puedes restaurar la base de datos desde un respaldo después de pérdida de datos o para volver a un estado anterior.
Restaurar MySQL
Usa el cliente mysql
para restaurar un archivo de respaldo de MySQL.
# Cambia a la terminal proporcionada por ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
2
3
your_username
: Sustituye por tu nombre de usuario.your_database
: Indica el nombre de la base de datos a la que se restaurarán los datos (debe existir previamente)./Applications/ServBay/backup/your_database.sql
: Ruta del archivo de respaldo.
Restaurar MariaDB
El procedimiento es idéntico al de MySQL, usando el cliente mysql
.
# Cambia a la terminal proporcionada por ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
2
3
- Los parámetros son los mismos que para MySQL.
Restaurar PostgreSQL
Se usa la herramienta pg_restore
para restaurar archivos de respaldo de formato personalizado. Recuerda especificar la ruta del socket con -h /Applications/ServBay/tmp
.
# Cambia a la terminal proporcionada por ServBay
pg_restore -h /Applications/ServBay/tmp -U your_username -d your_database -v /Applications/ServBay/backup/your_database.dump
2
3
-h /Applications/ServBay/tmp
: Ruta del socket de PostgreSQL.-U your_username
: Tu usuario de la base de datos.-d your_database
: Nombre de la base de datos de destino (debe existir previamente).-v
: Muestra información detallada./Applications/ServBay/backup/your_database.dump
: Ruta al archivo de respaldo.
Restaurar Redis
Para restaurar Redis, usualmente solo basta con copiar el archivo dump.rdb
de vuelta al directorio de datos de Redis. Importante: asegúrate de detener el servicio Redis antes de realizar la copia.
# Cambia a la terminal proporcionada por ServBay
# Detén el servicio de Redis en ServBay
# Copia el archivo de respaldo
cp /Applications/ServBay/backup/dump.rdb /Applications/ServBay/db/redis/dump.rdb
# Inicia el servicio Redis en ServBay
2
3
4
5
/Applications/ServBay/backup/dump.rdb
: Ruta al archivo de respaldo./Applications/ServBay/db/redis/dump.rdb
: Ruta predeterminada del archivo de persistencia de Redis.
Migración de bases de datos
La migración de bases de datos consiste en mover la base de datos de un entorno a otro (por ejemplo, otra instancia de ServBay, un servidor remoto u otro entorno local). Normalmente, esto implica exportar los datos en el entorno de origen e importarlos en el entorno de destino.
Migrar MySQL
La migración de MySQL es una situación común durante el desarrollo.
Exporta la base de datos en el entorno de origen:
bash# Ejecuta en la terminal del entorno de origen mysqldump -u your_source_username -p your_database > your_database.sql
1
2your_source_username
: Usuario de base de datos de origen.your_database
: Base de datos a migrar.your_database.sql
: Nombre del archivo SQL exportado.
Transfiere el archivo SQL exportado al entorno de destino: Usa
scp
u otra herramienta para moveryour_database.sql
a una ubicación accesible desde el ServBay de destino (por ejemplo/Applications/ServBay/backup/
).Crea la base de datos en ServBay destino:
bash# Ejecuta en la terminal ServBay de destino mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2your_target_username
: Usuario en el ServBay de destino.your_database
: Nombre de la base de datos a crear (normalmente igual al original).
Importa la base de datos en ServBay destino:
bash# Ejecuta en la terminal ServBay de destino mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2/path/to/your_database.sql
: Ruta real del archivo SQL en el entorno de destino.
Migrar MariaDB
La migración de MariaDB se realiza de la misma manera que MySQL, ya que comparten las mismas herramientas.
- Exporta la base de datos en el entorno de origen:bash
# Ejecuta en la terminal del entorno de origen mysqldump -u your_source_username -p your_database > your_database.sql
1
2 - Transfiere el archivo SQL exportado al entorno de destino.
- Crea la base de datos en ServBay destino:bash
# Ejecuta en la terminal ServBay de destino mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2 - Importa la base de datos en ServBay destino:bash
# Ejecuta en la terminal ServBay de destino mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2
Migrar PostgreSQL
La migración de PostgreSQL se realiza usando pg_dump
y pg_restore
. Recuerda atender la configuración del socket en el entorno ServBay.
Exporta la base de datos en el entorno de origen:
bash# Ejecuta en la terminal de origen # Si el origen es ServBay pg_dump -h /Applications/ServBay/tmp -U your_source_username -d your_database -F c -b -v -f your_database.dump # Si el origen es otro sistema, ajusta los parámetros según corresponda
1
2
3
4your_source_username
: Usuario de base de datos de origen.your_database
: Nombre de la base de datos a migrar.your_database.dump
: Archivo de respaldo exportado.
Transfiere el archivo de respaldo al ServBay de destino: Usa
scp
u otra herramienta para moveryour_database.dump
a una ubicación accesible para el entorno de destino.Crea la base de datos en ServBay destino:
bash# Ejecuta en la terminal ServBay de destino # Conéctate a la base default postgres para crear la nueva base psql -h /Applications/ServBay/tmp -U your_target_username -d postgres -c "CREATE DATABASE your_database;"
1
2
3your_target_username
: Usuario de base de datos en destino.your_database
: Nombre de la base de datos a crear.
Importa la base de datos en ServBay destino:
bash# Ejecuta en la terminal ServBay de destino 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
: Ruta real del archivo de respaldo en el entorno de destino.
Migrar Redis
La migración de Redis consiste comúnmente en copiar directamente el archivo dump.rdb
.
Obtén el archivo
dump.rdb
en el entorno de origen:bash# Ejecuta en la terminal del entorno de origen # Asegúrate de que el servicio de Redis está detenido, o espera a que se complete BGSAVE cp /path/to/source/redis/dump.rdb ./dump.rdb
1
2
3Transfiere el archivo
dump.rdb
al directorio de datos de Redis del ServBay de destino:bash# Ejecuta en el entorno de origen o en un servidor intermedio scp ./dump.rdb your_target_server:/Applications/ServBay/db/redis/dump.rdb
1
2your_target_server
: Dirección o nombre de host del servidor ServBay de destino.- Importante: antes de copiar al directorio
/Applications/ServBay/db/redis/
, asegúrate de que el servicio Redis de destino esté detenido.
Inicia el servicio Redis en ServBay destino: Al iniciarlo, Redis cargará automáticamente el archivo
dump.rdb
nuevo.
Consideraciones importantes
- Detener los servicios: Antes de copiar o mover directamente archivos de base de datos (especialmente de los directorios de datos de MySQL/MariaDB/PostgreSQL), debes detener el servicio de base de datos correspondiente desde la GUI de ServBay o mediante la línea de comandos. Copiar archivos con la base de datos en ejecución puede provocar inconsistencias o corrupción. Redis también requiere que el servicio esté detenido antes de restaurar el archivo
dump.rdb
. - Permisos: Asegúrate de tener los permisos necesarios para copiar, mover o importar archivos en los directorios y archivos de base de datos involucrados.
- Ruta de archivos: Verifica cuidadosamente la ruta de instalación de ServBay (por defecto
/Applications/ServBay
) y la ruta exacta de los archivos de base de datos, especialmente en los subdirectorios según la versión. - Usuarios y privilegios: Tras la migración, revisa si necesitas ajustar usuarios, permisos o archivos de configuración en la base de datos para el nuevo entorno.
- Respaldos integrados de ServBay: ServBay incluye funciones de respaldo y restauración accesibles mediante su interfaz gráfica, que permiten hacer copias de configuración, archivos web, bases de datos y certificados SSL. Puedes usarlas como complemento o alternativa a la gestión manual de archivos.
Conclusión
ServBay proporciona una estructura de archivos estandarizada que facilita la gestión de archivos de bases de datos a los desarrolladores. En este documento se detallan las ubicaciones de archivos para MySQL, MariaDB, PostgreSQL y Redis en ServBay, junto a directrices prácticas para realizar respaldos, restauraciones y migraciones usando herramientas estándar de línea de comandos. Dominar estos procedimientos te permitirá gestionar de manera eficiente y segura las bases de datos en tu entorno de desarrollo local y migrar proyectos entre distintos entornos sin complicaciones. Además, aprovechar otras funciones integradas de ServBay, como los respaldos automáticos, mejorará tu eficiencia y capacidad de gestión de datos.