[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Comment transferer des DB d'un serveur a un autre



Hugues MORIN a écrit :
> Je cherche une solution pour transferer plusieurs grosses bases de
> donnees d'un serveur a un autre.

Je ne sais pas ce qu'est une « grosse » base de données. Plusieurs
millions d'enregistrements, cela ne réclame pas forcément beaucoup de
place.

> Je connais la solution du mysqldump mais quand il y a autant de
> donnees, ce n'ai pas tres efficient. Lors de la derniere utilisation
> de ce procede sur une grosse DB, j'ai perdu des donnees et j'ai galere
> a les reconstituer.

C'est donc que le moteur utilisé n'était pas transactionnel. Dommage.

> Est ce que vous avez ete deja confronter a ce genre de travail? Quelle
> solutin avez vous retenu?

Je n'ai jamais été confronté à ce besoin, mais si j'avais à le faire,
pour ne pas exposer les bases, j'opterais sans doute pour un tunnel
SSH :

ssh -f -L 1111:localhost:3306 user@remote.example.com -N

Ce faisant, le serveur MySQL distant devient accessible localement sur
le port 1111 :

mysql -h localhost -P 1111 database < database.sql

Et du coup, on peut même éviter le passage par un fichier
intermédiaire :

mysqldump -q -h localhost -P 3306 database | mysql -h localhost -P 1111 database

Sinon, pour gagner un peu de temps, tout en procédant de manière
classique, on peut rediriger la sortie de mysqldump vers une connexion
SSH afin d'éviter l'écriture intermédiaire des données sur le disque
local et de créer directement le fichier sur le serveur cible :

mysqldump -q database | ssh -C user@remote-server 'cat > database.sql'

> Suffit-il de copier le repertoire contenant la DB
> (/var/lib/mysql/nomdb dans mon cas) et redemarrer mysql pour que le
> transfert soit effectif?

Non, var il faut aussi dumper et recréer sur le serveur distant les
informations globales stockées dans la base nommée « mysql » :

mysqldump -q mysql > mysql.sql

Sébastien

-- 
Sébastien Dinot, sebastien.dinot@free.fr
http://sebastien.dinot.free.fr/
Ne goûtez pas au logiciel libre, vous ne pourriez plus vous en passer !


Reply to: