Guida alla Gestione e Migrazione dei File di Database in ServBay
ServBay, come potente ambiente di sviluppo Web locale, integra diversi sistemi di gestione database comunemente utilizzati e organizza in modo strutturato i loro file di dati. Comprendere la struttura predefinita di archiviazione dei file di database in ServBay è fondamentale per consentire a sviluppatori di eseguire backup, ripristino e migrazione dei dati.
In questa guida vengono illustrati in dettaglio la struttura di default di archiviazione dei database in ServBay e le istruzioni per gestire e migrare i file tra diversi ambienti tramite i principali strumenti da riga di comando.
TIP
ServBay offre funzioni di backup e ripristino dei dati, che permettono di eseguire copie automatiche o manuali dei database MySQL, MariaDB e PostgreSQL. Consulta la sezione Backup e Ripristino per ulteriori dettagli.
Struttura Predefinita dei File di Database in ServBay
Per semplificare la gestione e isolare i dati tra diverse versioni dei database, ServBay raccoglie tutti i file dati dei database nella cartella /Applications/ServBay/db
. All'interno di questa directory, i file sono organizzati prima per tipologia di database e poi, in ciascuna tipologia, suddivisi per versione principale (major version).
Ecco uno schema tipico della struttura della directory /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
Descrizione della Struttura delle Cartelle
/Applications/ServBay/db
: Cartella principale in cui ServBay memorizza tutti i file dei database.mysql
: Contiene i file dati di MySQL. Le sottocartelle sono suddivise per versione principale (ad esempio8.0
,8.1
).mariadb
: Contiene i file dati di MariaDB. Le sottocartelle sono suddivise per versione principale (es.10.11
,11.3
).postgresql
: Contiene i file dati di PostgreSQL. Le sottocartelle sono suddivise per versione principale (es.15
,16
).redis
: Raccoglie i file di persistenza di Redis, tipicamente il filedump.rdb
.
Questa organizzazione permette di installare ed eseguire versioni diverse di uno stesso database su ServBay senza che i loro file dati si sovrappongano o si influenzino a vicenda.
Gestione dei File di Database
Durante lo sviluppo locale, è frequente dover eseguire backup, ripristini o migrazioni dei database. Di seguito vengono descritte le modalità standard per queste operazioni tramite strumenti a riga di comando. Ricorda che normalmente queste attività vanno eseguite nel terminale fornito da ServBay o assicurandosi che le variabili d’ambiente siano configurate correttamente per accedere ai client e agli strumenti dei database.
Backup del Database
Effettuare regolarmente il backup è fondamentale per la sicurezza dei dati. Ecco alcuni esempi su come salvare una copia dei diversi tipi di database gestiti da ServBay.
Backup di MySQL
Il modo classico per eseguire il backup di un database MySQL è utilizzare lo strumento mysqldump
.
bash
# Passa al terminale di ServBay, oppure assicurati che la variabile PATH includa la cartella bin di ServBay
# Ad esempio: 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
: Sostituisci con il nome utente del tuo database.your_database
: Sostituisci con il nome del database da salvare./Applications/ServBay/backup/your_database.sql
: Sostituisci con il percorso e il nome desiderati per il file di backup. Si consiglia di salvare le copie di sicurezza fuori dalla cartella di ServBay, ad esempio nella home dell'utente.
Backup di MariaDB
Per MariaDB la procedura è identica a quella descritta per MySQL, usando sempre mysqldump
.
bash
# Passa al terminale di ServBay, oppure assicurati che la variabile PATH includa la cartella bin di ServBay
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- Le indicazioni dei parametri rimangono le stesse.
Backup di PostgreSQL
Per il backup di un database PostgreSQL si utilizza lo strumento pg_dump
. In ServBay PostgreSQL si collega tipicamente tramite Unix Domain Socket, di solito situato in /Applications/ServBay/tmp
. Occorre quindi specificare il percorso con il parametro -h /Applications/ServBay/tmp
.
bash
# Passa al terminale di ServBay, oppure assicurati che la variabile PATH includa la cartella bin di ServBay
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
: Specifica il percorso del file socket di PostgreSQL.-U your_username
: Sostituisci con il nome utente del database.-d your_database
: Sostituisci con il nome del database da salvare.-F c
: Imposta il formato di uscita su archivio custom (consigliato).-b
: Include oggetti binari (blobs).-v
: Mostra output dettagliato.-f /Applications/ServBay/backup/your_database.dump
: Sostituisci con il percorso desiderato per il file di backup.
Backup di Redis
Il backup di Redis consiste di solito nel copiare direttamente il file di persistenza dump.rdb
.
bash
# Passa al terminale di ServBay
# Assicurati che il servizio Redis sia avviato o che la funzione di salvataggio automatico (BGSAVE) sia attiva
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
: Percorso predefinito del file di persistenza di Redis./Applications/ServBay/backup/dump.rdb
: Sostituisci con il percorso desiderato per il backup.
Ripristino del Database
Quando si perdono dati o serve ripristinare lo stato precedente, puoi recuperare il database usando una copia di backup.
Ripristino di MySQL
Per ripristinare i backup MySQL utilizza il client mysql
.
bash
# Passa al terminale di ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
your_username
: Sostituisci con il tuo nome utente del database.your_database
: Sostituisci con il nome del database da ripristinare (che dovrebbe essere già stato creato)./Applications/ServBay/backup/your_database.sql
: Percorso del file di backup da utilizzare.
Ripristino di MariaDB
La procedura per MariaDB è identica a quella di MySQL, sempre con il client mysql
.
bash
# Passa al terminale di ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- Spiegazioni dei parametri come sopra.
Ripristino di PostgreSQL
Per ripristinare un backup PostgreSQL in formato custom si utilizza pg_restore
, specificando nuovamente il percorso del socket.
bash
# Passa al terminale di 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
: Percorso del socket PostgreSQL.-U your_username
: Nome utente del database.-d your_database
: Nome del database su cui ripristinare; deve esistere.-v
: Output dettagliato./Applications/ServBay/backup/your_database.dump
: Backup da utilizzare per il ripristino.
Ripristino di Redis
Il ripristino di Redis viene effettuato copiando il file dump.rdb
di backup nella cartella dati di Redis. Importante: assicurati che il servizio Redis sia fermo prima della copia!
bash
# Passa al terminale di ServBay
# Arresta il servizio Redis su ServBay
# Copia il file di backup
cp /Applications/ServBay/backup/dump.rdb /Applications/ServBay/db/redis/dump.rdb
# Avvia nuovamente il servizio Redis su ServBay
1
2
3
4
5
2
3
4
5
/Applications/ServBay/backup/dump.rdb
: Backup da usare./Applications/ServBay/db/redis/dump.rdb
: Percorso predefinito del file di dati di Redis.
Migrazione dei Database
La migrazione consiste nel trasferire un database da un ambiente (ad esempio un’altra installazione di ServBay, un server remoto o un altro contesto locale) a un nuovo ambiente. Tipicamente si esportano i dati dalla sorgente e li si importa sulla destinazione.
Migrare MySQL
Passaggi per la migrazione di MySQL, frequenti nello sviluppo quotidiano:
Esporta il database dall’ambiente sorgente:
bash# Esegui nel terminale della sorgente mysqldump -u your_source_username -p your_database > your_database.sql
1
2your_source_username
: Nome utente del database nella sorgente.your_database
: Nome del database da trasferire.your_database.sql
: Nome file SQL di esportazione.
Trasferisci il file SQL esportato all’ambiente di destinazione: Usa
scp
o altri strumenti per spostareyour_database.sql
in una cartella accessibile da ServBay (es./Applications/ServBay/backup/
).Crea il database nell’ambiente ServBay di destinazione:
bash# Esegui nel terminale ServBay di destinazione mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2your_target_username
: Nome utente database nella destinazione.your_database
: Nome del database (da allineare con la sorgente).
Importa il database nella destinazione:
bash# Esegui nel terminale ServBay di destinazione mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2/path/to/your_database.sql
: Percorso effettivo del file nella destinazione.
Migrare MariaDB
La migrazione di MariaDB segue gli stessi step di MySQL, perché gli strumenti e i formati sono identici.
- Esporta il database dalla sorgente:bash
# Esegui nella sorgente mysqldump -u your_source_username -p your_database > your_database.sql
1
2 - Trasferisci il file SQL nella destinazione.
- Crea il database nell’ambiente ServBay di destinazione:bash
# Esegui nella destinazione mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2 - Importa il database in destinazione:bash
# Esegui nella destinazione mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2
Migrare PostgreSQL
Per la migrazione di PostgreSQL si usano gli strumenti pg_dump
e pg_restore
. Verifica sempre il percorso del socket ServBay.
Esporta il database dalla sorgente:
bash# Esegui nella sorgente # Se la sorgente è ServBay pg_dump -h /Applications/ServBay/tmp -U your_source_username -d your_database -F c -b -v -f your_database.dump # Se la sorgente è un altro sistema, adatta i parametri di connessione
1
2
3
4your_source_username
: Nome utente nella sorgente.your_database
: Database da migrare.your_database.dump
: Nome file di backup.
Trasferisci il file dump all’ambiente ServBay destinatario: Usa
scp
o altri strumenti per copiareyour_database.dump
dove ServBay possa accedervi.Crea il database nella destinazione:
bash# Esegui nella destinazione # Connettiti al database postgres per creare un nuovo database psql -h /Applications/ServBay/tmp -U your_target_username -d postgres -c "CREATE DATABASE your_database;"
1
2
3your_target_username
: Nome utente nella destinazione.your_database
: Nome database da creare.
Importa il database:
bash# Esegui nella destinazione 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
: Percorso reale del file nella destinazione.
Migrare Redis
Per Redis, la migrazione solitamente prevede la copia diretta del file dump.rdb
.
Recupera il file
dump.rdb
dalla sorgente:bash# Esegui nel terminale della sorgente # Arresta Redis o attendi completion di BGSAVE cp /path/to/source/redis/dump.rdb ./dump.rdb
1
2
3Trasferisci
dump.rdb
nella cartella Redis di destinazione:bash# Dal terminale della sorgente o da un server intermedio scp ./dump.rdb your_target_server:/Applications/ServBay/db/redis/dump.rdb
1
2your_target_server
: Indirizzo o hostname del server di destinazione ServBay.- Importante: assicurati che Redis sia spento su ServBay prima di copiare nella cartella
/Applications/ServBay/db/redis/
.
Riavvia Redis sull’ambiente ServBay di destinazione: Al riavvio, Redis caricherà automaticamente il nuovo file
dump.rdb
.
Avvertenze
- Arresto dei servizi: Prima di copiare o spostare direttamente file di database (specie le cartelle dati di MySQL/MariaDB/PostgreSQL), è necessario arrestare il relativo servizio tramite l'interfaccia ServBay o da linea di comando. Copiare file da database in esecuzione può portare a incongruenze o corruzione dei dati. Redis deve essere fermo per le operazioni sul file
dump.rdb
. - Permessi: Verifica che l’utente disponga di tutti i privilegi necessari per accedere e modificare le cartelle o i file oggetto della copia o importazione.
- Percorsi file: Controlla attentamente il percorso di installazione di ServBay (predefinito:
/Applications/ServBay
) e delle cartelle specifiche relative alle versioni dei database. - Utenti e privilegi: Dopo la migrazione, verifica che utenti, permessi e file di configurazione siano eventualmente aggiornati in base al nuovo ambiente.
- Backup integrato di ServBay: ServBay offre anche pratiche funzioni di backup e ripristino tramite interfaccia grafica, con cui è possibile creare copie di impostazioni, file dei siti, database e certificati SSL. Questi strumenti possono essere usati in aggiunta o in alternativa alla gestione manuale dei file.
Conclusione
ServBay, grazie a una struttura di file ben organizzata, offre agli sviluppatori una base solida per la gestione dei database. In questa guida sono stati descritti i percorsi di MySQL, MariaDB, PostgreSQL e Redis in ServBay, e fornite istruzioni pratiche per backup, ripristino e migrazione tramite strumenti standard a riga di comando. La padronanza di queste operazioni ti aiuta a proteggere i dati, gestire in sicurezza gli ambienti locali e spostare i progetti rapidamente tra diversi contesti. In combinazione con le altre utilità di ServBay (come backup integrati), potrai incrementare notevolmente sia la sicurezza che l’efficienza operativa dei tuoi progetti di sviluppo.