|
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."
|