Aller au contenu

Import et export de dumps pour MySQL / MariaDB / Percona

Faire entrer et sortir des données dans une base MySQL, MariaDB ou Percona sur Stack Harbor PaaS via un client desktop comme MySQL Workbench, ou mysqldump / phpMyAdmin.

Cette page couvre le flux client desktop pour faire entrer et sortir des fichiers dump dans une base MySQL, MariaDB ou Percona sur Stack Harbor PaaS. L’exemple utilise MySQL Workbench ; la même procédure fonctionne avec DBeaver, TablePlus, Sequel Pro et tout autre client desktop qui supporte JDBC.

Pour des sauvegardes planifiées automatisées, voir Sauvegardes base de données. Pour un petit dump ad hoc ou une restauration depuis le tableau de bord, les onglets Import et Export de phpMyAdmin fonctionnent aussi — couverts brièvement en fin de page.

Prérequis — IP publique

Un client desktop hors plateforme a besoin d’un chemin réseau vers le conteneur base de données. Attacher une IP publique au nœud base de données (depuis le tableau de bord, cliquer la roue Paramètres, puis IPs publiques, puis Ajouter). La plateforme émet une adresse IPv4 ; utilisez-la comme hôte dans le client desktop.

Si votre politique de sécurité ne permet pas d’IP publique sur la base, mettre en place un tunnel SSH via le nœud applicatif et connecter le client desktop à travers le tunnel.

Importer un dump

1. Créer une instance serveur dans MySQL Workbench

Dans Workbench, cliquer Database → Manage Connections → New. Définir :

  • Hostname — l’IP publique du conteneur base de données.
  • Port — 3306 (la valeur par défaut du moteur).
  • Username et Password — depuis le courriel de création.

Tester la connexion. Workbench peut mettre quelques minutes à valider.

2. Choisir le type de gestion distante

Workbench demande comment joindre l’hôte pour la gestion distante (logs, configuration). Pour Stack Harbor PaaS, choisir Standard TCP/IP — le conteneur base de données de la plateforme n’expose pas les points de terminaison OS que Workbench attend pour les autres options.

3. Nommer et créer

Donner un nom à la connexion (p. ex. prod-db-stackharbor) et terminer. La connexion est maintenant disponible sur l’écran d’accueil de Workbench.

4. Importer le dump

Ouvrir la connexion. Dans le panneau navigation, choisir Data Import/Restore, puis Import from Self-Contained File, pointer sur le fichier dump, cliquer Start Import.

Le temps d’import dépend de la taille du dump. Un dump de 100 Mo se termine en général en quelques secondes ; un dump multi-Go prend des minutes.

5. Vérifier dans phpMyAdmin

De retour dans le tableau de bord Stack Harbor, cliquer Ouvrir dans le navigateur sur le nœud base de données pour ouvrir phpMyAdmin. Se connecter avec les identifiants du courriel de création. Le schéma importé doit apparaître dans la liste des bases.

Exporter un dump

Dans la même connexion Workbench, choisir Data Export dans le panneau navigation. Cocher les bases (ou schémas, ou tables) à exporter, fixer le répertoire de sortie, cliquer Start Export.

Workbench écrit le dump dans le répertoire choisi. Pour une grande base, prévoir plusieurs minutes.

Alternative phpMyAdmin

Pour des dumps de moins de quelques centaines de Mo, les onglets Import et Export intégrés de phpMyAdmin fonctionnent depuis le tableau de bord sans client desktop :

  • Export — ouvrir phpMyAdmin, choisir la base dans le panneau gauche, cliquer Export, choisir Quick ou Custom, cliquer Go. Le dump est téléchargé vers le navigateur.
  • Import — choisir la base cible, cliquer Import, Parcourir votre ordinateur, sélectionner le fichier, cliquer Go.

La limite d’upload PHP plafonne la taille de dump que phpMyAdmin accepte directement. Pour des dumps plus grands, utiliser un client desktop ou mysqldump sur SSH.

mysqldump en ligne de commande

Pour des exports scriptés, utiliser mysqldump contre l’IP publique. La forme de commande :

mysqldump -h {public_ip} -P 3306 -u {user} -p {dbname} > dump.sql

Cela écrit le dump dans le système de fichiers local. Apparier avec gzip pour le stockage :

mysqldump -h {public_ip} -P 3306 -u {user} -p {dbname} | gzip > dump.sql.gz

Pour restaurer depuis un fichier mysqldump :

mysql -h {public_ip} -P 3306 -u {user} -p {dbname} < dump.sql

Voir aussi