Parfois j'ai besoin de déplacer une base de donnée d'un poste à un autre. J'ai cherché sur internet et ai trouvé cette méthode super efficace. Seul bémol, il faut avoir un accès SSH sur les deux serveurs, donc ne conviendra pas pour quelqu'un ayant un mutualisé.
Attention: sur le serveur A comme B, le compte SQL que vous allez utilisé doit avoir tous les droits
Commençons. N'oubliez pas le ptit sudo si besoin
La première partie du travail se fait sur le serveur A. Nous allons en fait créer une sauvegarde de la base de donnée.
On se place dans le repertoire tmp
On créé ensuite un repertoire DUMPDIR [root@ns1 colem]#mkdir -p /tmp/DUMPDIR
Histoire de ne pas être embêté par un problème de permission, on peut faire [root@ns1 colem]#chmod 777 /tmp/DUMPDIR
Maintenant on va faire un dump de la base nommé db_name dans le repertoire DUMPDIR [root@ns1 colem]#mysqldump -u colem -pmot_de_passe -Q --tab=DUMPDIR db_name
Une fois terminé, on va transférer le tout sur le serveur B (n'oubliez pas l'option -P num_port si le serveur SSH n’écoute pas le port 22) [root@ns1 colem]#scp -r -P1418 DUMPDIR colem@192.168.1.2:/tmp/
Maintenant que le tout est transféré, je supprime le contenu du dossier DUMPDIR [root@ns1 colem]#rm -rf /tmp/DUMPDIR/*
Voilà nous avons fini les manipulations sur le serveur A, donc nous allons maintenant travailler sur le serveur B
La première chose à faire, c'est de créer la base de donnée. Faisons le. [root@ns1 colem]#mysqladmin -u colem -pmot_de_passe create db_name
Voilà, maintenant plaçons nous dans le répertoire tmp
La base de donnée étant créée, nous créons maintenant toutes les tables [root@ns1 colem]#cat DUMPDIR/*.sql | mysql -u colem -pmot_de_passe db_name
Ca y est !!! maintenant il ne nous reste plus qu'a insérer le contenu dans les tables [root@ns1 colem]#mysqlimport -u colem -pmot_de_passe db_name /tmp/DUMPDIR/*.txt
Et voilà, c'est terminé. Vous avez cloné votre base de donnée. Maintenant, histoire de finir et de remettre propre, on va supprimer le répertoire DUMPDIR [root@ns1 colem]#rm -rf /tmp/DUMPDIR
Voilà, tout est bon. J’espère que ce petit tuto vous aura aider. |