La commande mysqldump peut être utilisée dans une fenêtre de commande pour générer un script SQL.
Pour créer le script SQL d'une base de données, incluant les procédures et fonctions stockées, leurs commentaires ainsi que les déclencheurs, entrez la commande mysqldump suivie des paramètres désirés.
mysqldump -u monusagermysql -p --routines --comments --triggers mabd > C:\Users\monnom\Documents\BackupBD\mabd-2020-10-29.sql
▼Publicité Le texte se poursuit plus bas
Il est également possible de générer un script pour l'ensemble des bases de données.
mysqldump -u monusagermysql -p --routines --comments --triggers --all-databases > C:\Users\monnom\Documents\BackupBD\ToutesBDMySQL-2020-10-29.sql
Lorsqu'une base de données est en ligne, il est prudent d'en effectuer une copie de sécurité sur une base régulière. Ceci peut être fait à l'aide d'un fichier batch sous Windows ou bash sous Mac ou Linux, que vous demanderez au système d'exploitation d'exécuter sur une base régulière.
Pour que ceci fonctionne, il faut que le script connaisse le mot de passe de l'usager MySQL.
Afin de ne pas ouvrir de trou de sécurité, il ne faut jamais écrire le mot de passe en clair dans un fichier batch ou bash.
La technique pour y parvenir consiste à demander à MySQL de crypter les informations dans le fichier ~/.mylogin.cnf sous Mac ou Linux ou C:\Users\monnom\AppData\Roaming\MySQL\.mylogin.cnf sous Windows.
Ceci est réalisé à l'aide de cette commande :
mysql_config_editor set --login-path=local --host=localhost --user=monusagermysql --password
MySQL vous demandera d'enter le mot de passe de l'usager MySQL spécifié puis cryptera les informations dans le ficheir .mylogin.cnf.
Attention : si le mot de passe contient des caractères spéciaux, il faut l'entourer de guillemets lorsque mysql_config_editor vous demande de l'entrer.
De plus, le nom utilisé pour retrouver le code d'usager et le mot de passe (dans l'exemple : local), ne doit pas contenir de traits d'union.
Ensuite, pour générer le script, vous devez modifier légèrement la commande comme suit :
mysqldump --login-path=local --routines --comments --triggers mabd > C:\Users\monnom\Documents\BackupBD\mabd-2020-10-29.sql
Et voilà, vous pouvez maintenant générer votre script de façon sécuritaire sans avoir à entrer le mot de passe à chaque fois !
Note : il faut savoir que le mot de passe est crypté dans le fichier .mylogin.cnf mais si ce fichier venait à tomber entre les mains d'un utilisateur malveillant, ce dernier n'aurait pas de difficulté à le décrypter.
« mysqldump — A Database Backup Program ». MySQL. http://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
« 8.2 Database Backup Methods ». MySQL. http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html
« 10 Ways to Automatically & Manually Backup MySQL Database ». Noupe. http://www.noupe.com/development/10-ways-to-automatically-manually-backup-mysql-database.html
Site fièrement hébergé chez A2 Hosting.