Guía de gestión y migración de archivos de bases de datos en ServBay
ServBay es un entorno de desarrollo web local potente que integra varios sistemas de gestión de bases de datos comunes, y administra sus archivos de datos de manera estandarizada. Comprender la estructura predeterminada de almacenamiento de archivos de base de datos en ServBay es crucial para realizar copias de seguridad, restauraciones y migraciones de datos de manera eficiente.
En este artículo se presenta en detalle la estructura predeterminada de almacenamiento de archivos de bases de datos en ServBay y se ofrecen instrucciones prácticas para gestionar archivos y migrar datos entre diferentes entornos utilizando herramientas estándar de línea de comandos.
TIP
ServBay ofrece funciones de copia de seguridad y restauración: puedes respaldar tus bases de datos MySQL, MariaDB y PostgreSQL de forma automática o manual. Consulta la sección Copia de seguridad y restauración para más información.
Estructura predeterminada de almacenamiento de archivos en ServBay
Para facilitar la gestión y aislar los datos de diferentes versiones de bases de datos, ServBay guarda todos los archivos de datos de bases de datos en el directorio /Applications/ServBay/db
. Este directorio se organiza por tipo de base de datos, y dentro de cada tipo, los datos se subdividen según la 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
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
Explicación de la estructura de directorios
/Applications/ServBay/db
: Directorio principal donde ServBay almacena todos los archivos de base de datos.mysql
: Directorio para los archivos de datos de MySQL, subdivididos por versión principal (por ejemplo,8.0
,8.1
).mariadb
: Directorio para los archivos de datos de MariaDB, también organizados por versión principal (como10.11
,11.3
).postgresql
: Directorio para archivos de datos de PostgreSQL, separados por versión principal (15
,16
, etc.).redis
: Carpeta para los archivos persistentes de Redis, usualmente el archivodump.rdb
.
Esta organización permite instalar y ejecutar múltiples versiones principales del mismo motor de base de datos en ServBay, manteniendo sus datos completamente aislados y evitando conflictos.
Gestión de archivos de base de datos
Durante el desarrollo local, es común necesitar hacer copias de seguridad, restaurar o migrar bases de datos. A continuación, se explican los métodos para realizar estas operaciones usando herramientas estándar de línea de comandos. Ten en cuenta que habitualmente debes usar el terminal configurado por ServBay o asegurarte de que las variables de entorno estén adecuadamente establecidas para acceder a los clientes y utilidades de cada base de datos.
Copia de seguridad de bases de datos
Hacer copias de seguridad periódicas es fundamental para garantizar la integridad de los datos. Estas son las formas recomendadas de respaldar diferentes tipos de bases de datos en ServBay.
Copia de seguridad de MySQL
La herramienta estándar para exportar una base de datos MySQL es mysqldump
:
bash
# Cambia al terminal proporcionado por ServBay, o asegúrate de que el directorio bin de ServBay está en tu variable PATH
# Por ejemplo: 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
: Reemplaza con tu nombre de usuario de la base de datos.your_database
: Reemplaza con el nombre de la base de datos a exportar./Applications/ServBay/backup/your_database.sql
: Cambia la ruta y el nombre del archivo de respaldo según prefieras. Se recomienda guardar el respaldo fuera del directorio de ServBay, por ejemplo en tu carpeta de usuario.
Copia de seguridad de MariaDB
El procedimiento para MariaDB es el mismo que para MySQL, usando mysqldump
:
bash
# Cambia al terminal proporcionado por ServBay, o asegúrate de que el directorio bin de ServBay está en tu variable PATH
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- Los mismos parámetros explicados anteriormente.
Copia de seguridad de PostgreSQL
Utiliza pg_dump
para respaldar bases de datos PostgreSQL. ServBay configura PostgreSQL para usar sockets Unix en la ruta /Applications/ServBay/tmp
, así que especifica -h /Applications/ServBay/tmp
en el comando.
bash
# Cambia al terminal proporcionado por ServBay, o asegúrate de que el directorio bin de ServBay está en tu variable 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
- Parámetros de conexión:
- macOS:
-h /Applications/ServBay/tmp
(ruta del socket Unix) - Windows:
-h localhost -p 5432
(conexión TCP)
- macOS:
-U your_username
: Reemplaza tu nombre de usuario.-d your_database
: Reemplaza el nombre de la base de datos.-F c
: Salida en formato de archivo personalizado (recomendado).-b
: Incluye objetos grandes (blobs).-v
: Muestra información detallada.-f /Applications/ServBay/backup/your_database.dump
: Ruta y nombre del archivo de respaldo.
Copia de seguridad de Redis
Para Redis, el respaldo normalmente consiste en copiar el archivo persistente dump.rdb
:
bash
# Cambia al terminal proporcionado por ServBay
# Asegúrate de que el servicio de Redis está en ejecución, o que tienes activa la opción de autoguardado (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
: Ruta predeterminada del archivo persistente de Redis./Applications/ServBay/backup/dump.rdb
: Ajusta la ruta y nombre del archivo de destino según lo que necesites.
Restauración de bases de datos
Puedes restaurar los datos a partir de los archivos de respaldo tras una pérdida o cuando necesites volver a un estado anterior.
Restaurar MySQL
Utiliza el cliente mysql
para importar el archivo de respaldo:
bash
# Cambia al terminal proporcionado por ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
your_username
: Tu usuario de base de datos.your_database
: Nombre de la base de datos donde 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, utilizando el cliente mysql
:
bash
# Cambia al terminal proporcionado por ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- Los parámetros se explicaron previamente.
Restaurar PostgreSQL
Usa pg_restore
para restaurar archivos de respaldo en formato personalizado, especificando la ruta del socket:
bash
# Cambia al terminal proporcionado por 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
- Parámetros de conexión:
- macOS:
-h /Applications/ServBay/tmp
(ruta del socket Unix) - Windows:
-h localhost -p 5432
(conexión TCP)
- macOS:
-U your_username
: Tu usuario.-d your_database
: Base de datos destino (debe existir).-v
: Modo detallado.- Ruta del archivo de respaldo:
- macOS:
/Applications/ServBay/backup/your_database.dump
- Windows:
C:\ServBay\backup\your_database.dump
- macOS:
Restaurar Redis
Restaurar Redis implica copiar el archivo dump.rdb
de respaldo al directorio de datos de Redis. Importante: Detén el servicio de Redis antes de hacerlo.
bash
# Cambia al terminal proporcionado 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 de Redis en ServBay
1
2
3
4
5
2
3
4
5
/Applications/ServBay/backup/dump.rdb
: Ruta del archivo de respaldo./Applications/ServBay/db/redis/dump.rdb
: Ruta predeterminada del archivo persistente de Redis.
Migración de bases de datos
Migrar una base de datos implica mover los datos desde un entorno (puede ser otro ServBay, un servidor remoto, u otro entorno local) a uno diferente. Esto suele requerir exportar los datos en el entorno de origen y luego importarlos donde se necesiten.
Migrar MySQL
Cómo migrar MySQL es una tarea común en el día a día:
Exportar la base de datos en el entorno origen:
bash# Ejecuta en el terminal del entorno origen mysqldump -u your_source_username -p your_database > your_database.sql
1
2your_source_username
: Usuario en el entorno origen.your_database
: Base de datos a migrar.your_database.sql
: Nombre del archivo exportado.
Transferir el archivo SQL exportado al entorno destino: Usa
scp
u otra herramienta para copiaryour_database.sql
al entorno ServBay destino (ejemplo:/Applications/ServBay/backup/
).Crear la base de datos en el entorno ServBay destino:
bash# Ejecuta en el terminal de ServBay destino mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2your_target_username
: Usuario en el ServBay destino.your_database
: Nombre de la base de datos (debería coincidir con la original).
Importar la base de datos en ServBay destino:
bash# Ejecuta en el terminal de ServBay destino mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2/path/to/your_database.sql
: Ruta real al archivo SQL en el entorno destino.
Migrar MariaDB
La migración de MariaDB es idéntica que la de MySQL, usando las mismas herramientas y formatos:
- Exportar la base de datos en el entorno origen:bash
# Ejecuta en el terminal del entorno origen mysqldump -u your_source_username -p your_database > your_database.sql
1
2 - Transferir el archivo SQL al entorno destino.
- Crear la base de datos en ServBay destino:bash
# Ejecuta en el terminal de ServBay destino mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2 - Importar los datos en ServBay destino:bash
# Ejecuta en el terminal de ServBay destino mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2
Migrar PostgreSQL
Para la migración de PostgreSQL se usan pg_dump
y pg_restore
, prestando atención a la ruta del socket en ServBay:
Exportar la base de datos desde el entorno origen:
bash# Ejecuta en el terminal del entorno 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 la configuración
1
2
3
4your_source_username
: Usuario del entorno origen.your_database
: Base de datos a migrar.your_database.dump
: Archivo de respaldo generado.
Transferir el archivo al entorno ServBay destino mediante
scp
u otra herramienta.Crear la base de datos en ServBay destino:
bash# Ejecuta en el terminal de ServBay destino # Conéctate a la base de datos postgres para crear la nueva base de datos psql -h /Applications/ServBay/tmp -U your_target_username -d postgres -c "CREATE DATABASE your_database;"
1
2
3your_target_username
: Usuario en el ServBay destino.your_database
: Nombre de la base de datos.
Importar el respaldo en el entorno de destino:
bash# Ejecuta en el terminal de ServBay 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 al archivo de respaldo en el entorno de destino.
Migrar Redis
La migración de Redis suele hacerse copiando directamente el archivo dump.rdb
:
Obtener el archivo
dump.rdb
en el entorno origen:bash# Ejecuta en el terminal del entorno origen # Asegúrate de que el servicio de Redis está detenido, o espera a que termine BGSAVE cp /path/to/source/redis/dump.rdb ./dump.rdb
1
2
3Transferir el archivo
dump.rdb
al directorio de datos de Redis en ServBay:bash# Desde el entorno origen o un servidor intermedio scp ./dump.rdb your_target_server:/Applications/ServBay/db/redis/dump.rdb
1
2your_target_server
: Dirección o nombre del servidor ServBay destino.- Importante: Antes de copiar el archivo, detén el servicio de Redis de destino en
/Applications/ServBay/db/redis/
.
Arranca el servicio de Redis en ServBay destino. Al iniciarse, Redis cargará el nuevo archivo
dump.rdb
.
Consideraciones importantes
- Detener servicios: Antes de copiar o mover archivos de bases de datos (especialmente directorios de datos de MySQL/MariaDB/PostgreSQL), asegúrate de detener el servicio correspondiente mediante la GUI de ServBay o usando los comandos apropiados. Copiar archivos de bases de datos que están en uso puede causar corrupción o inconsistencias. Para recuperar Redis con archivos
dump.rdb
, también debes detener el servicio. - Permisos: Verifica que el usuario que ejecute operaciones de copia, movimiento o importación tenga permisos suficientes sobre los directorios y archivos necesarios.
- Rutas de archivo: Asegúrate cuidadosamente de la ruta de instalación de ServBay (por defecto
/Applications/ServBay
) y la ubicación de cada archivo de base de datos según la versión. - Usuarios y privilegios: Tras una migración, revisa los usuarios, privilegios y archivos de configuración de la base de datos para adaptarlos al nuevo entorno.
- Copias de seguridad integradas de ServBay: ServBay también cuenta con funciones integradas para copia de seguridad y restauración accesibles vía GUI, permitiendo respaldar configuraciones, archivos de sitios web, bases de datos y certificados SSL. Esto puede complementar o reemplazar la gestión manual de archivos.
Resumen
Gracias a su estructura de archivos bien definida, ServBay facilita la gestión de archivos de bases de datos para desarrolladores. Este artículo presenta los detalles sobre la ubicación de archivos para MySQL, MariaDB, PostgreSQL y Redis, además de guías prácticas para respaldar, restaurar y migrar utilizando herramientas estándar. Dominar estas habilidades te ayudará a administrar los datos de tus proyectos locales con seguridad y eficiencia, y a migrar tus bases de datos entre distintos entornos de forma eficaz. Usar conjuntamente las funciones integradas de respaldo y otras facilidades de ServBay puede aumentar significativamente tu productividad y capacidad de gestión de datos.