21-11
2009

MySQLDump : Rapide et efficace

Tags: MySQL | MySQLDump | SSH
MySQLDump permet d'effectuer une sauvegarde de vos bases de données MySQL. Le but de ce petit tuto est de vous permettre d'effectuer une migration de votre base de données en une seule commande SSH. Pour effectuer un Dump SQL simple la commande est plutôt simple :

# L'argument --opt est facultatif et ne sert qu'à
# effectuer l'option OPTIMIZE de MySQL
mysqldump -u votre_utilisateur -p votre_base_de_données --opt > dump.sql
# MySQL vous demande alors votre mot de passe (qui ne s'affichera pas)
Password:
# Patientez quelques secondes et votre Dump est fait
Dans cet article, nous aurons une base de données (ouverte vers l'extérieur, je ne traiterais pas les permissions) sur un serveur en production, et notre nouveau serveur tout neuf. Le but va être de transférer en une seule commande. Vous devez être sur votre nouveau serveur dédié, et votre nouvelle base de données doit déjà être prête (configurée, avec un mot de passe etc.). Dans cet exemple, le mot de passe de l'ancienne base de données est "admin" et le mot de passe de la nouvelle base de données est "serveur". L'adresse IP de notre ancien serveur est 91.121.91.1.Le nom d'utilisateur et la base de données sont les mêmes sur les deux serveurs, à savoir "blog".

mysqldump -h 91.121.91.1 -u blog -padmin blog --opt | mysql -u blog -pserveur blog

Si tout se passe bien et que vous avez prévu le coup, vous aurez déjà, juste avant de valider cette commande, ouvert et préédité votre fichier de configuration. Ainsi pendant que le dump est en cours, vous n'avez qu'à sauvegarder votre fichier de configuration. Vos utilisateurs vont avoir quelques messages d'erreurs, mais le retour du site sera directement sur le nouveau serveur. Voilà, grâce à cette petite commande, vous êtes capable de migrer votre base de données en quelques secondes (ceci dépendra de la vitesse de votre serveur MySQL ainsi que de la bande passante que vous disposez).

 

 

2 Commentaires pour ce billet.

 

 

  1. Le probleme c'est ou je veux savoir ou mettre le fichier .sql ? je l'ai dans l'ftp , et en ssh quand je me connecte je suis au root, je met directement la commande ou je dois etre dans le répertoireou existe le fichier ?
    Merci pour votre aide

  2. Une fois le fichier .sql là où est ta nouvelle base, il faut l'importer:
    mysql -u ton_user -p ta_base < ton_fichier.sql

 

Votre commentaire