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: ****************
On 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 :
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. » ?
Bonjour Gimbi,
Effectivement je me suis un peu craqué là… Je viens de corriger. Merci 😉
Florian
Article réellement intéressant.Merci également pour le tutoriel. C’est très pratique et utile en même temps.
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