ServBay : Importer une base de données MariaDB existante dans l’environnement local
ServBay est un puissant environnement de développement web local doté d’un package MariaDB intégré. Il est fréquent de vouloir migrer ou importer votre base de données MariaDB existante (provenant d’un autre environnement local, d’un serveur distant ou d’un fichier de sauvegarde) vers le MariaDB fourni par ServBay. Ce guide détaille chaque étape pour assurer une migration fluide de vos données vers votre environnement local ServBay.
Vue d’ensemble
Ce guide couvre l’exportation des données à l’aide des outils standard en ligne de commande MariaDB/MySQL (mysqldump
et mysql
) depuis votre instance MariaDB source, la préparation de la base de données cible dans ServBay, puis l’importation des données dans l’instance MariaDB de ServBay.
Prérequis
Avant de commencer l’importation des données, assurez-vous que les conditions suivantes sont remplies :
- ServBay est installé et fonctionne sous macOS : vérifiez que l’application ServBay est bien installée et en cours d’exécution.
- Le package MariaDB dans ServBay est activé et en fonctionnement : dans l’interface de ServBay section “Packages”, confirmez que MariaDB est activé et en état de marche (voyant vert). Lancez-le si nécessaire.
- Vous disposez d’un accès à la base MariaDB source : vous devez connaître l’adresse hôte, le port (si différent de 3306), le nom d’utilisateur, le mot de passe et le nom de la base de données à exporter.
- Vous disposez d’un accès à la base MariaDB cible dans ServBay : généralement, il s’agit de l’utilisateur
root
de MariaDB de ServBay et de son mot de passe. Par défaut, l’utilisateur estroot
et il se peut qu’aucun mot de passe ne soit défini à l’installation ; vous pouvez le retrouver ou le réinitialiser dans l’interface ServBay. - Espace disque suffisant : assurez-vous que votre environnement ServBay dispose de l’espace nécessaire pour stocker les données importées.
Étapes de la procédure
Étape 1 : Exporter les données de la MariaDB source
Commencez par utiliser l’outil mysqldump
pour exporter la base de données source au format SQL.
Ouvrir le Terminal : Lancez l’application “Terminal” sur votre système macOS.
Exécuter la commande d’export : Utilisez la commande
mysqldump
pour vous connecter à l’instance MariaDB source et exporter la base. Supposons que votre base s’appellemydatabase_source
et que vous souhaitiez exporter dansmydatabase.sql
.bashmysqldump -u your_source_username -p -h your_source_host -P your_source_port mydatabase_source > mydatabase.sql
1your_source_username
: Remplacez par le nom d’utilisateur MariaDB source.-p
: Le mot de passe vous sera demandé suite à la commande.-h your_source_host
: Indiquez l’adresse si la base n’est pas locale ; sinon, ce paramètre est facultatif.-P your_source_port
: À spécifier si le port n’est pas 3306 (paramètre optionnel en général).mydatabase_source
: Nom de la base à exporter.> mydatabase.sql
: Destination du fichier SQL créée dans le dossier courant du terminal.
Pour faciliter l’accès ultérieur à ce fichier SQL depuis ServBay, enregistrez-le dans un dossier temporaire sous le répertoire racine de votre site ServBay, par exemple
/Applications/ServBay/www/temp/mydatabase.sql
. Exportez-le d’abord localement, puis déplacez le fichier :bashmysqldump -u your_source_username -p mydatabase_source > mydatabase.sql mv mydatabase.sql /Applications/ServBay/www/temp/
1
2Remarque : assurez-vous que le dossier
/Applications/ServBay/www/temp/
existe.
Étape 2 : Préparer la base de données cible (sous ServBay)
Avant d’importer les données, il faut créer la base de données correspondante dans le MariaDB inclus avec ServBay.
Se connecter à MariaDB de ServBay : Dans le terminal, utilisez la commande
mysql
pour accéder à l’instance MariaDB de ServBay (généralement possible via Unix socket ou localhost).bashmysql -u root -p
1Entrez ensuite le mot de passe de l’utilisateur
root
de MariaDB ServBay lorsque demandé.Astuce : en cas de doute sur le mot de passe
root
ou sur un problème de connexion, consultez la configuration ou les logs du module MariaDB dans l’interface ServBay.Créer la base cible : Dans le client MariaDB, créez une nouvelle base pour recevoir les données importées. Il est recommandé (mais non obligatoire) d’utiliser le même nom que la base source, par exemple
mydatabase
.sqlCREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
1mydatabase
: Nom de la base à créer.CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
: Il est fortement conseillé de préciser l’encodage et le classement ici pour éviter tout problème d’affichage des caractères. Adaptez ces options selon la configuration de la base source pour assurer la compatibilité.
Quitter le client MariaDB : Tapez
exit;
puis appuyez sur Entrée.sqlexit;
1
Étape 3 : Importer les données dans MariaDB sous ServBay
L’étape suivante consiste à injecter le fichier SQL dans la base nouvellement créée sous ServBay.
Ouvrir le Terminal : Assurez-vous d’être dans le terminal.
Lancer la commande d’importation : Utilisez la commande
mysql
pour insérer le contenu du fichier dans la base.bashmysql -u root -p mydatabase < /Applications/ServBay/www/temp/mydatabase.sql
1-u root -p
: Utilisation de l’utilisateurroot
de MariaDB avec demande de mot de passe.mydatabase
: Nom de la base cible, créée à l’étape précédente.< /Applications/ServBay/www/temp/mydatabase.sql
: Redirige le contenu du fichier SQL vers le client. Vérifiez que le chemin du fichier correspond à votre environnement.
L’import peut prendre du temps selon la taille du fichier. Aucune sortie ne s’affiche à l’écran sauf en cas d’erreur.
Étape 4 : Vérifier l’importation des données
Après l’import, il est fortement recommandé de contrôler la réussite de la procédure.
Connectez-vous à la base MariaDB dans ServBay :
bashmysql -u root -p
1Sélectionnez la base de données importée :
sqlUSE mydatabase;
1mydatabase
: Nom de la base contenant les données importées.
Effectuez quelques vérifications : Exécutez des requêtes pour contrôler la structure et les données.
sqlSHOW TABLES; -- Afficher toutes les tables SELECT COUNT(*) FROM your_table_name; -- Afficher le nombre d’enregistrements d’une table SELECT * FROM your_table_name LIMIT 10; -- Voir les 10 premiers enregistrements d’une table
1
2
3your_table_name
: Remplacez par le nom réel d’une table.
Vérifiez la correspondance du volume des données ou contrôlez des données clés pour valider la réussite de l’import.
Gérer les problèmes de compatibilité possibles
Bien que MariaDB offre généralement une bonne compatibilité entre versions, quelques problèmes peuvent apparaître lors de la migration. Voici les cas courants et leurs solutions :
1. Incompatibilités de syntaxe SQL
Si la version source de MariaDB est ancienne ou utilise une syntaxe spécifique à une version, le fichier SQL exporté peut échouer à l’import sous une version plus récente de MariaDB dans ServBay.
- Solution : Modifiez manuellement le fichier
mydatabase.sql
pour corriger les requêtes problématiques. Consultez les messages d’erreur lors de l’import et référez-vous à la documentation officielle (Documentation MariaDB) pour ajuster la syntaxe.
2. Incompatibilité ou dépréciation d’un moteur de stockage
Certains moteurs anciens (tels que MyISAM) peuvent ne plus être recommandés, activés ou par défaut dans les nouvelles versions de MariaDB.
Solution : Avant l’import, éditez le fichier SQL pour remplacer les définitions telles que
ENGINE=MyISAM
par le moteur recommandé, en généralENGINE=InnoDB
.sql-- Trouvez dans votre fichier : CREATE TABLE `your_table_name` ( -- ... définition des colonnes ... ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- Remplacez par : CREATE TABLE `your_table_name` ( -- ... définition des colonnes ... ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1
2
3
4
5
6
7
8
9
3. Perte des utilisateurs et des droits
Par défaut, mysqldump
n’exporte pas les comptes utilisateurs ni leurs permissions. Après l’import, les utilisateurs spécifiques créés dans la base source ne sont pas présents dans la base ServBay.
Solution : Recréez manuellement les comptes et attribuez les permissions nécessaires après l’import. Connectez-vous avec l’utilisateur
root
sur MariaDB ServBay et exécutez :sql-- Créez un nouvel utilisateur (ex : 'servbay_user' local, mot de passe 'your_password') CREATE USER 'servbay_user'@'localhost' IDENTIFIED BY 'your_password'; -- Donnez-lui tous les droits sur la base concernée GRANT ALL PRIVILEGES ON mydatabase.* TO 'servbay_user'@'localhost'; -- Pour une connexion distante (non recommandé en production) -- CREATE USER 'servbay_user'@'%' IDENTIFIED BY 'your_password'; -- GRANT ALL PRIVILEGES ON mydatabase.* TO 'servbay_user'@'%'; -- Actualisez les permissions FLUSH PRIVILEGES;
1
2
3
4
5
6
7
8
9
10
11
12- Remplacez
servbay_user
etyour_password
par les informations souhaitées. mydatabase
: le nom de la base importée.- Adaptez l’hôte (
localhost
ou%
) selon les besoins.
- Remplacez
4. Problèmes d’encodage et de collation
Si la base source et la base cible utilisent des jeux de caractères/collations différents, vous risquez de rencontrer des problèmes d’affichage ou de saisie (notamment avec des caractères spéciaux).
- Solution : À la création de la base (cf. étape 2), spécifiez exactement le même jeu de caractères/collation que la source, ou adoptez un réglage largement compatible comme
utf8mb4
. En cas de problème après import, supprimez la base, assurez-vous de l’encodage UTF-8 du fichier SQL, ajoutez en tête de fichier la commandeSET NAMES 'utf8mb4';
, puis recréez la base et relancez l’import.
Points spécifiques à ServBay
- Données d’identification MariaDB : Les informations du compte
root
sont accessibles ou modifiables dans l’interface ServBay. - Logs : Si des erreurs se produisent à l’import, consultez les journaux d’erreurs MariaDB, habituellement situés dans le dossier
logs
du répertoire d’installation de ServBay. - Performance : L’importation de grosses bases peut être longue et consommer les ressources système.
FAQ
Q : Que faire si l’import est interrompu ?
R : Généralement, la base se retrouve incomplète. Supprimez la base (DROP DATABASE mydatabase;
), recréez-la (CREATE DATABASE mydatabase;
) et relancez l’import.
Q : Comment importer un fichier SQL volumineux plus efficacement ?
R : Pour de très gros fichiers, la redirection <
peut consommer beaucoup de mémoire. Préférez la commande source
dans le client MariaDB :
- Connectez-vous avec
mysql -u root -p
- Sélectionnez votre base :
USE mydatabase;
- Lancez :
SOURCE /path/to/your/large_database.sql;
Cette méthode est plus stable mais nécessite une manipulation en ligne de commande MariaDB.
Q : Peut-on importer des données directement via l’interface ServBay ?
R : L’UI ServBay gère principalement les packages, la configuration des sites et la consultation des journaux. L’import/export de données se fait plutôt via les outils standards de gestion de base (ligne de commande mysql
/mysqldump
ou outils graphiques comme phpMyAdmin/Adminer). ServBay inclut Adminer, accessible via l’UI, qui permet aussi des imports pour les petites bases ou les utilisateurs moins à l’aise en ligne de commande.
Conclusion
Importer une base de données MariaDB existante dans l’environnement ServBay est un processus classique de migration. En utilisant mysqldump
pour l’export et mysql
pour l’import, l’opération se réalise aisément. Veillez à respecter les prérequis, à anticiper les soucis de compatibilité (caractères, moteurs de stockage, permissions) et à valider le résultat. ServBay offre un cadre stable pour héberger vos bases MariaDB en local et optimiser votre flux de développement web.