Table des matières

Importer une base de données MySQL

Aujourd'hui nous allons voir comment uploader/importer une base de données de type MySQL...

Il existe à ma connaissance quatre méthodes pour importer une base de données MySQL sur un serveur distant.

Via phpmyadmin (ou système similaire)

Ce système est le plus rapide et ergonomique cependant il n'est pas possible d'importer de lourdes bases de données par cette méthode

  1. Accéder à votre phpmyadmin généralement installé par votre hébergeur. Chez quelques hébergeurs il vous suffit d'ajouter /phpmyadmin à la fin de votre nom de domaine.
  2. Créer la base de données dans laquelle vous voulez importer les données ou cliquer (à gauche) sur la base de données existante dans laquelle vous souhaitez que les données soient importées.
  3. Ensuite cliquer en haut sur “Importer”
  4. Cliquer sur “Parcourir...”
  5. Sélectionner le fichier de sauvegarde à importer situé sur votre ordinateur puis cliquer sur “Ouvrir” (Veillez à ce que votre fichier de sauvegarde n'excède pas le poids maximum indiqué à l'écran puisque au delà ça ne fonctionnera tout simplement pas ou pas dans son intégralité.)
  6. Cliquer sur “Exécuter”

Via un MySQL Manager (ou logiciel similaire)

  1. Etablir une connexion avec sa base de données distante
  2. Menu “Tools” puis “Show SQL Editor”
  3. Sur la gauche : “Edit” > “Load from file”
  4. Sélectionnez votre sauvegarde puis “Ouvrir”
  5. Sur la gauche : “General” > “Execute query”.

Via FTP et un script PHP

En effet envoyer vers un serveur MySQL une grosse base de données bien lourde n'est pas toujours évident. Bien sûr si le serveur est proche de vous ce n'est pas un problème mais s'il est à plusieurs centaines de kilomètres ça se complique.

Effectivement la méthode d'upload via un gestionnaire de base de données comme phpMyAdmin est possible mais hélas ce n'est pas le cas pour des grosses/très grosses bases de données. Le protocole http connait ses limites et vous ne pourrez pas uploader une base de 100 Mo située dans un fichier texte depuis phpmyadmin.

Fort heureusement Alexey Ozerov a développé un script PHP appelé “BigDump.php” permettant (en une seule étape) de fractionner l'envoi de votre fichier contenant la grosse sauvegarde de la base de données.

Alors comment ça se passe ? Déroulement...

1. Créer la base de données qui va recevoir votre sauvegarde 2. Télécharger la dernière version de BigDump ici : http://www.ozerov.de/bigdump.php 3. Décompresser le fichier télécharger. 4. Ouvrir le fichier décompressé “BigDump.php” 5. Trouver les lignes suivantes dans ce fichier php

   $db_server   = 'localhost';
   $db_name     = '';
   $db_username = '';
   $db_password = '';

6. Renseigner ces 4 ligne

   $db_server   = 'localhost'; // Généralement inutile de modifier
   $db_name     = ''; // Nom de votre base de données (cf : premier point)
   $db_username = ''; // Compte utilisateur de la base de données
   $db_password = ''; // Mot de passe de la base de données

7. Sauvegarder et quitter 8. Uploader BigDump.php sur votre FTP 9. Uploader sur votre FTP le fichier comportant la sauvegarde 10. Exécuter BigDump.php depuis votre navigateur : http://....../BigDump.php 11. Commencer l'importation de votre sauvegarde


Remarque... Si vous êtes certain que les informations du point 5 sont correctes et que vous rencontrez malgré tout des problèmes il est possible que cela vienne des trois lignes suivantes dans BigDump.php :

   $filename        = '';       // Specify the dump filename to suppress the file selection dialog
   **$linespersession = 3000;   // Lines to be executed per one import session**
   $delaypersession = 0;      // You can specify a sleep time in milliseconds after each session

Via le mode ligne de commandes (nécessite un accès ssh sur la machine)

Si vous disposez d'un accès ssh sur le serveur distant vous avez la possibilité de faire directement l'import de cette sauvegarde par ssh. Vous vous connectez donc en ssh sur votre serveur, puis vous vous dirigez dans le répertoire où vous avez placé le fichier à importer et vous tapez cette commande :

 cat nom_de_la_base.sql | mysql --host=serveur_sql --user=nom_de_la_base --password=mot_de_passe nom_de_la_base

Exemple :

 cat testbackup.sql | mysql --host=sql3 --user=testimport --password=RtPgDsmL testimport

Liens intéressants

http://www.sqlmanager.net/en/products/mysql/manager

http://www.phpmyadmin.net


Contributeurs : NightAngel| Houram