$
]
{
#
{
@

NOUS LES DEVS

dump

Comment faire un backup de base de données avec MySQL

Niveau : débutant(e)
</> </> </>

dump

Un dump, c’est quoi ? Et bah en fait, c’est un terme qui veut tout simplement dire « copie ». D’ailleurs tu as certaineent déjà dû entendre « faire un dump de DB » et tu t’es peut-être demandé pourquoi cette expression ? Et bien parce-qu’il existe une commande magique (c’est même au-delà de magique tellement c’est puissant) qui porte le nom de mysqldump et qui sert justement à faire des backups de base de données.

Ligne de commande oblige

Je te connais ! Tu vas encore me dire, mais pourquoi veux-tu absolument utiliser les lignes de commande alors que c’est 10.000 fois plus simple de le faire avec phpMyAdmin ou avec un logiciel de gestion de base de données.

Cette semaine, j’ai dû travailler sur un serveur qui n’était disponible qu’en SSH, j’ai donc été obligé de passer par le terminal. Ma mission était de récupérer tous les fichiers du serveur et de faire une copie de la base de données, pour ensuite remonter tout le site en local sur ma machine ! Et j’ai réussi « parcequejesuisunoufmoidansmatete » !

mysqldump

Entrons dans le vif du sujet, ouvre le terminal et exécute la commande mysqldump. Si le répertoire des binaires mysql est bien ajouté au PATH, tu dois voir à l’écran quelques lignes montrant la syntaxe de la commande, cela veut dire que tu peux réaliser le dump.

La syntaxe de la requête est simple (quoi j’écris trop souvent ce mot ?) : tu tapes mysqldump, tu spécifies les options u et p (pour utilisateur et mot de passe) suivis du nom de ta base, le symbole > (direction vers laquelle la sauvegarde se fait) et enfin le nom du fichier .sql

.

Voici la commande pour faire le dump de la base de données « email », avec l’utilisateur root et le mot de passe 123456789, « email.dump.sql » est le nom du fichier créé.

mysqldump -uroot -p123456789 email > email.dump.sql

Avantage

Moi je trouve qu’en ligne de commande c’est plus rapide et plus efficace, ça évite de passer par un logiciel ou un service web. En plus, tu peux facilement ajouter la commande dans un bash et faire tourner un cron dessus pour avoir une sauvegarde journalière de ta DB.

04/04/2015

Yann Vangampelaere - nouslesdevs -

NOUS LES DEVS

Vous aimez ce que je fais ? Vous voulez que j'en fasse plus ? dans le développement du blog.