WAMP : Sauvegarder une base de données avec mysqldump

I. Présentation

Dans ce tutoriel, nous allons apprendre à sauvegarder une base de données MySQL sous Windows, suite à l'installation d'un serveur web WAMP. On s'appuiera sur un outil natif fourni avec MySQL nommé "mysqldump".

Pour information, j'utilise WAMP 2.5 et on sauvegarde une base de données nommée "mabase".

II. Sauvegarder la base de données

Ouvrez une invite de commandes sous Windows. En s'appuyant sur l'exécutable "mysqldump" on peut sauvegarder rapidement une base de données :

cd "C:\wamp\bin\mysql\mysql5.6.17\bin\"
mysqldump.exe -u root -p mabase > C:\Backup\mabase.sql
Enter password: ****************

logo-mysql50On commence par se placer dans le répertoire où se situe l'exécutable, et ensuite on exécute mysqldump.exe avec l'option -u pour le nom d'utilisateur, l'option -p pour que l'on demande le mot de passe et à la suite de vos options il est nécessaire d'indiquer le nom de la base de données. Ensuite, la fin de la ligne permet d'enregistrer la sortie dans un fichier nommé "mabase.sql" et situé dans le répertoire "C:\Backup".

L'inconvénient c'est de devoir saisir le mot de passe à chaque fois, ce qui n'est pas pratique pour réaliser la sauvegarde dans un script. Voyons une solution plus adaptée.

A la racine du lecteur C, créer un fichier "my.cnf" avec le contenu suivant en adaptant les infos :

[mysqldump]
user=utilisateur
password=mot de passe

Enregistrez ce fichier, qui peut être également positionné aux endroits suivants d'après la documentation de MySQLDump :

- C:\WINDOWS\my.cnf
- C:\wamp\mysql\my.cnf

Sur ce fichier, n'hésitez pas à limiter les droits d'accès par sécurité, indiquez des autorisations pour le compte Système et le compte sous lequel s'exécute WAMP sur votre serveur.

Enfin on retire l'option "-p" de la commande puisqu'il ne sera plus nécessaire d'indiquer un mot de passe, il va se référer directement au fichier my.cnf

cd "C:\wamp\bin\mysql\mysql5.6.17\bin\"
mysqldump.exe -u root mabase > C:\Backup\mabase.sql

La sauvegarde doit fonctionner, sans intervention de votre part pour saisir le mot de passe !

Pour scripter le tout, vous pouvez ajouter la date dans le nom du fichier, enregistrer cela dans un fichier script Batch et l'exécuter par tâche planifiée. Voici d'autres tutoriels que nous avons rédigés sur le sujet :

- Script mysqldump

- Mysqldump sous Linux

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian BURNEL

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

Nombre de posts de cet auteur : 5566.Voir tous les posts

4 thoughts on “WAMP : Sauvegarder une base de données avec mysqldump

  • Bonjour, excellent tutoriel 🙂
    Par contre n’y aurait il pas un problème avec ce passage « l’option -p pour que l’on demande le mot de passe et l’option -p permet d’indiquer le nom de la base de données. » ?

    Répondre
    • Bonjour Gimbi,

      Effectivement je me suis un peu craqué là… Je viens de corriger. Merci 😉

      Florian

      Répondre
  • Mon problème est le suivant. Je me suis connecté à ma base de donnée mais une fois sur mon formulaire. Lorsque je remplis et je clique sur envoyer, une fois je consulte ma base de donnée je vois rien. C est y
    Totalement vide. Je vous montre mon code.
    Try
    { Abdo =new
    PDO(‘mysql: host = localhost ; dynamique = tuto ; chars et=utf8’, root », ‘ ‘) ;
    } catch(exception $e) {
    Die (‘erreur:’. $e-> get message()) ;
    }
    $nom = $_post[‘nom’];
    $prenom= $_post[‘prenom’];
    $envoyer = $_post[‘envoyer’];
    If(! Emphy($_post[‘nom’] && !Emphy($_post[‘prenom’]) {
    Écho ‘succès;
    }else
    {Echo’echec’;
    }
    }
    ? >

    Voici un peu. Merci d avance

    Répondre

Répondre à Florian BURNEL Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.