PRATIQUE OUTILS 
Sauvegarder et restaurer une base MySQL
 
Les webmasters évitent trop souvent de faire un backup de leur données. Pourtant mysqldump rend cette manipulation simple et rapide. (22/11/2004)
  Forum

Réagissez dans les forums de JDN Développeurs

Les sites dynamiques sont en danger, du moins leur données : toutes sortes de malheurs peuvent leur arriver sans prévenir, et sont parfois fatals. Perte du serveur, corruption des données, piratage, disparition de l'hébergeur…

Il est donc de bon aloi de toujours disposer d'une sauvegarde en local, voire sur un autre serveur, des données stockées dans la base. Pour ce faire, MySQL dispose d'une commande spécifique : mysqldump. Celle-ci réalise donc un "dump" de la base, sous la forme d'un fichier test (utilisant l'extention .sql) contenant un ensemble de requêtes SQL permettant au besoin de reconstruire la base de toute pièce.

Son usage sous shell (de préférence en étant root) est comme suit :
mysqldump -u UTILISATEUR -p MOTDEPASSE BASEDEDONNEES > backup041118.sql

La restauration se fait en utilisant directement le programme principal :
mysql -u USER -p MOTDEPASSE BASEDEDONNEES < backup041118.sql

Enfin, si l'objectif est de transférer la base d'une machine à l'autre, on peut combiner les deux appels sur une seule ligne :
mysqldump -u UTILISATEUR -p MOTDEPASSE BASEDEDONNEES | ssh utilisateur:motdepasse@15.156.125.32 "mysql BASEDEDONNEES2"

Un lecteur de JDN Développeurs précise : "Même si l'aspect pratique est compréhensible, mettre les mots de passe en clair dans un shell ou une ligne de commande n'est pas très très sécurisé... Surtout pour une base de donnée!"
A charge pour l'administration de faire en sorte que ses mots de passe sont sécurisés...

Un autre : "il plus souvent recommandé d'utiliser l'option --tab en lieu et place de l'otion par default. [Celle-ci] permet de créer à la fois un fichier contenant la structure de la table (en SQL) et un fichier par table avec des données délimitées, permetant d'avoir un stockage optimisé, une restauration rapide, simple et robuste et ne consommant que peu de ressources grâce à LOAD DATA."

 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page