Guide ServBay : Gestion et migration des fichiers de bases de données
ServBay est un environnement local de développement Web puissant, intégrant plusieurs systèmes de gestion de bases de données populaires et proposant une gestion structurée de leurs fichiers de données. Comprendre l’organisation par défaut des fichiers de bases de données dans ServBay est essentiel pour effectuer des sauvegardes, restaurations et migrations efficaces.
Ce guide détaille la structure des dossiers par défaut utilisée par ServBay pour les fichiers de bases de données, et vous explique comment gérer ces fichiers et migrer d’un environnement à l’autre en utilisant les outils standard en ligne de commande.
TIP
ServBay propose des fonctions de sauvegarde et de restauration : vous pouvez automatiser ou effectuer manuellement des sauvegardes de bases MySQL, MariaDB et PostgreSQL. Consultez la section Sauvegarde et restauration pour en savoir plus.
Organisation par défaut des fichiers de bases de données dans ServBay
Pour faciliter la gestion et l’isolation des données selon les versions, ServBay regroupe tous les fichiers dans le répertoire /Applications/ServBay/db
. Ce dossier est organisé par type de base de données, puis par numéro de version principale (major version).
Voici un exemple typique de la structure du dossier /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
Explications sur la structure des dossiers
/Applications/ServBay/db
: dossier principal où ServBay sauvegarde tous les fichiers de bases de données.mysql
: fichiers de données MySQL, triés par version principale (ex :8.0
,8.1
).mariadb
: fichiers de données MariaDB, triés par version principale (ex :10.11
,11.3
).postgresql
: fichiers de données PostgreSQL, triés par numéro de version principale (ex :15
,16
).redis
: fichiers de persistance Redis, généralement le fichierdump.rdb
.
Cette organisation vous permet d’installer et d’exécuter simultanément plusieurs versions majeures de la même base de données dans ServBay, avec des fichiers complètement isolés.
Gestion des fichiers de bases de données
En développement local, il est fréquent de devoir sauvegarder, restaurer ou migrer une base. Voici comment effectuer ces opérations avec les outils standards de chaque SGBD. Ces opérations doivent être réalisées dans le terminal ServBay ou en ayant correctement configuré les variables d’environnement pour accéder aux clients et outils concernés.
Sauvegarder une base de données
Sauvegarder régulièrement vos bases garantit la sécurité de vos données. Voici comment procéder, selon le type de base utilisé dans ServBay.
Sauvegarde MySQL
L’outil standard pour sauvegarder une base MySQL est mysqldump
:
bash
# Passez dans le terminal ServBay, ou ajoutez ServBay au PATH :
# Exemple : 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
: votre nom d’utilisateur MySQL.your_database
: nom de la base à sauvegarder./Applications/ServBay/backup/your_database.sql
: emplacement du fichier de sauvegarde (vous pouvez choisir un autre dossier, par exemple dans votre répertoire utilisateur).
Sauvegarde MariaDB
La sauvegarde pour MariaDB s’effectue également avec mysqldump
:
bash
# Passez dans le terminal ServBay, ou ajoutez ServBay au PATH
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- Consignes identiques à MySQL.
Sauvegarde PostgreSQL
PostgreSQL se sauvegarde avec l’outil pg_dump
. Notez que ServBay se connecte généralement via Unix Domain Socket, chemin par défaut : /Applications/ServBay/tmp
. Indiquez donc -h /Applications/ServBay/tmp
dans votre commande.
bash
# Passez dans le terminal ServBay, ou assurez-vous que PATH est correct
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
- Paramètres de connexion : configurez le mode de connexion au serveur PostgreSQL.
- macOS :
-h /Applications/ServBay/tmp
(socket Unix) - Windows :
-h localhost -p 5432
(connexion TCP)
- macOS :
-U your_username
: nom d’utilisateur PostgreSQL.-d your_database
: nom de la base à sauvegarder.-F c
: format d’archive personnalisé (recommandé).-b
: sauvegarde aussi les objets volumineux (blobs).-v
: mode verbeux.-f /Applications/ServBay/backup/your_database.dump
: emplacement du fichier de sauvegarde.
Sauvegarde Redis
Pour Redis, il suffit généralement de copier son fichier de persistance dump.rdb
:
bash
# Passez dans le terminal ServBay
# Assurez-vous que le service Redis fonctionne, ou qu’un BGSAVE a été réalisé
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
: chemin par défaut du fichier Redis./Applications/ServBay/backup/dump.rdb
: destination de la copie.
Restaurer une base de données
En cas de perte de données ou de besoin de revenir à un état antérieur, restaurez la base à partir des fichiers de sauvegarde.
Restauration MySQL
Utilisez le client mysql
pour restaurer une sauvegarde MySQL :
bash
# Passez dans le terminal ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
your_username
: nom d’utilisateur.your_database
: nom de la base de destination (à pré-créer)./Applications/ServBay/backup/your_database.sql
: fichier de sauvegarde.
Restauration MariaDB
La restauration de MariaDB s’effectue de la même manière qu’avec MySQL :
bash
# Passez dans le terminal ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- Identique à MySQL.
Restauration PostgreSQL
Restaurer une archive personnalisée PostgreSQL : utilisez pg_restore
, en précisant le chemin du socket.
bash
# Passez dans le terminal 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
- Paramètres de connexion :
- macOS:
-h /Applications/ServBay/tmp
(socket Unix) - Windows:
-h localhost -p 5432
(TCP)
- macOS:
-U your_username
: nom d’utilisateur.-d your_database
: base de restauration (à pré-créer).-v
: verbeux.- Chemin du fichier de sauvegarde :
- macOS:
/Applications/ServBay/backup/your_database.dump
- Windows:
C:\ServBay\backup\your_database.dump
- macOS:
Restauration Redis
La restauration Redis consiste à recopier le fichier dump.rdb
dans le dossier de Redis. Important : arrêtez le service Redis avant cette opération.
bash
# Passez dans le terminal ServBay
# Arrêtez Redis dans ServBay
# Copiez le fichier de sauvegarde
cp /Applications/ServBay/backup/dump.rdb /Applications/ServBay/db/redis/dump.rdb
# Redémarrez Redis dans ServBay
1
2
3
4
5
2
3
4
5
/Applications/ServBay/backup/dump.rdb
: fichier de sauvegarde./Applications/ServBay/db/redis/dump.rdb
: emplacement par défaut du fichier Redis.
Migration d’une base de données
Migrer une base consiste à déplacer les données d’un environnement (autre instance ServBay, serveur distant ou local) vers un autre. Cela implique d’exporter dans l’environnement source et d’importer dans la cible.
Migration MySQL
Export de la base depuis la source :
bash# Terminal source mysqldump -u your_source_username -p your_database > your_database.sql
1
2your_source_username
: nom d’utilisateur base source.your_database
: nom de la base.your_database.sql
: nom du fichier exporté.
Transfert du fichier exporté vers la cible : Utilisez
scp
ou équivalent vers un répertoire accessible par le ServBay cible, ex :/Applications/ServBay/backup/
.Création de la base sur la cible ServBay :
bash# Terminal cible mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2your_target_username
: utilisateur sur la cible.your_database
: nom à créer (identique à la source).
Import sur la cible ServBay :
bash# Terminal cible mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2/path/to/your_database.sql
: chemin réel du fichier SQL.
Migration MariaDB
Procédure identique à MySQL :
- Export depuis la source :bash
mysqldump -u your_source_username -p your_database > your_database.sql
1 - Transfert du fichier sur la cible.
- Création de la base sur la cible ServBay :bash
mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1 - Import sur la cible ServBay :bash
mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
Migration PostgreSQL
Utilisez pg_dump
et pg_restore
, en veillant au chemin du socket sous ServBay.
Export depuis la source :
bash# Terminal source # Si source = ServBay pg_dump -h /Applications/ServBay/tmp -U your_source_username -d your_database -F c -b -v -f your_database.dump # Sinon adaptez les paramètres connexion
1
2
3
4your_source_username
: utilisateur source.your_database
: nom de la base.your_database.dump
: nom du fichier exporté.
Transfert du fichier exporté dans le ServBay cible : Utilisez
scp
ou équivalent.Création de la base sur la cible ServBay :
bash# Terminal cible # Se connecter à la base 'postgres' pour créer la nouvelle base psql -h /Applications/ServBay/tmp -U your_target_username -d postgres -c "CREATE DATABASE your_database;"
1
2
3your_target_username
: utilisateur sur la cible.your_database
: nom à créer.
Import sur la cible ServBay :
bashpg_restore -h /Applications/ServBay/tmp -U your_target_username -d your_database -v /path/to/your_database.dump
1/path/to/your_database.dump
: emplacement du fichier exporté.
Migration Redis
La migration consiste à copier directement le fichier dump.rdb
.
Récupération du fichier
dump.rdb
source :bash# Sur le terminal source # Arrêtez le service Redis ou attendez BGSAVE cp /path/to/source/redis/dump.rdb ./dump.rdb
1
2
3Transfert vers le répertoire Redis cible de ServBay :
bash# Source ou relais scp ./dump.rdb your_target_server:/Applications/ServBay/db/redis/dump.rdb
1
2your_target_server
: IP ou nom d’hôte de la cible ServBay.- Important : arrêtez Redis sur la cible avant de copier !
Redémarrez Redis côté cible : Au démarrage, Redis charge automatiquement le nouveau fichier
dump.rdb
.
Points importants
- Arrêt des services : stoppez la base concernée via l’interface ServBay ou CLI avant toute copie directe de fichiers de données (MySQL/MariaDB/PostgreSQL), sous peine de corruption des fichiers. Pour Redis, stoppez le service avant la restauration du fichier
dump.rdb
. - Droits et permissions : assurez-vous d’avoir les droits nécessaires pour manipuler les fichiers et dossiers concernés.
- Chemins : vérifiez les chemins d’installation et de données selon la version ServBay et la base concernée.
- Utilisateurs et droits : après migration, vérifiez la configuration des utilisateurs, des permissions et des fichiers de configuration.
- Sauvegarde intégrée ServBay : ServBay propose également des sauvegardes/restaurations par l’interface graphique : configuration, sites, bases, certificats SSL... Utilisez-les en complément ou comme alternative à la gestion manuelle.
Conclusion
ServBay offre une structure de fichiers normalisée pour une gestion claire des données de vos bases. Ce guide explique en détail où sont stockées les bases MySQL, MariaDB, PostgreSQL et Redis dans ServBay, et comment les sauvegarder, restaurer et migrer efficacement grâce aux outils standards en ligne de commande. La maîtrise de ces opérations vous aidera à garantir la sécurité de vos données, à migrer vos projets localement, et à profiter pleinement des autres fonctionnalités pratiques de ServBay, telles que les sauvegardes intégrées. Vous optimiserez ainsi votre développement et la gestion de vos données.