Précédemment, nous avons créé un fichier batch pour sauvegarder la base de données en un seul clic. Le souci avec ce type de code est qu’on doit enregistrer le nom d’utilisateur et le mot de passe dans le fichier batch, ce que je déconseille vivement. Pour remédier à ce problème, l’utilisateur doit saisir le nom d’utilisateur et le mot de passe à chaque utilisation du script.
Le script batch
Voici un exemple de script batch que vous pouvez utiliser :
echo off
rem credentials to connect to mysql server
set /p mysql_user=Entrez votre nom d'utilisateur MySQL:
set /p mysql_password=Entrez votre mot de passe MySQL:
mysqldump --user=%mysql_user% --password=%mysql_password% --all-databases > all-databases-test.sql
pause
Explication du script
echo off
: Cette commande désactive l’affichage des commandes dans la console, ce qui rend l’exécution du script plus propre et plus lisible.rem credentials to connect to mysql server
: La commanderem
est utilisée pour ajouter des commentaires dans le script. Ici, elle indique que les lignes suivantes définissent les informations d’identification pour se connecter au serveur MySQL.set /p mysql_user=Entrez votre nom d'utilisateur MySQL:
: Cette ligne demande à l’utilisateur de saisir son nom d’utilisateur MySQL, qui sera stocké dans la variablemysql_user
.set /p mysql_password=Entrez votre mot de passe MySQL:
: De la même manière, cette ligne demande à l’utilisateur de saisir son mot de passe MySQL, qui sera stocké dans la variablemysql_password
.mysqldump --user=%mysql_user% --password=%mysql_password% --all-databases > all-databases-test.sql
: Cette commande lancemysqldump
, un outil de ligne de commande utilisé pour créer des sauvegardes de bases de données MySQL. Les options--user
et--password
utilisent les valeurs saisies par l’utilisateur pour se connecter au serveur MySQL. L’option--all-databases
indique que toutes les bases de données doivent être sauvegardées. Le résultat est exporté dans un fichier nomméall-databases-test.sql
.pause
: Cette commande arrête l’exécution du script après la sauvegarde, permettant à l’utilisateur de voir le résultat avant de fermer la fenêtre de commande.
Conclusion
Avec ce script simple, vous pouvez automatiser la sauvegarde de vos bases de données MySQL tout en renforçant la sécurité en évitant de stocker les informations d’identification directement dans le fichier batch. Il suffit de copier ce script dans un fichier .bat
, de le personnaliser si besoin, et de l’exécuter chaque fois que vous souhaitez créer une sauvegarde.