On Friday 23 November 2018 15:11:31 Hugues MORIN wrote:Bonjour a tous,donnees
Je cherche une solution pour transferer plusieurs grosses bases ded'un serveur a un autre.plusieurs
Ce sont des DB Mariadb et pour certaines, les tables contiennnentmillions d'enregistrements.
Dis-je une bêtise ? :
phpmyadmin ?
On Friday 23 November 2018 15:11:31 Hugues MORIN wrote:
> Bonjour a tous,
> Je cherche une solution pour transferer plusieurs grosses bases de
donnees
> d'un serveur a un autre.
> Ce sont des DB Mariadb et pour certaines, les tables contiennnent
plusieurs
> millions d'enregistrements.
Dis-je une bêtise ? :
phpmyadmin ?
On Friday 23 November 2018 15:11:31 Hugues MORIN wrote:Bonjour a tous,donnees
Je cherche une solution pour transferer plusieurs grosses bases ded'un serveur a un autre.plusieurs
Ce sont des DB Mariadb et pour certaines, les tables contiennnentmillions d'enregistrements.
Dis-je une bêtise ? :
phpmyadmin ?
Je cherche une solution pour transferer plusieurs grosses bases de
donnees d'un serveur a un autre.
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.
Est ce que vous avez ete deja confronter a ce genre de travail? Quelle
solutin avez vous retenu?
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?
Je cherche une solution pour transferer plusieurs grosses bases de
donnees d'un serveur a un autre.
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.
Est ce que vous avez ete deja confronter a ce genre de travail? Quelle
solutin avez vous retenu?
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?
Je cherche une solution pour transferer plusieurs grosses bases de
donnees d'un serveur a un autre.
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.
Est ce que vous avez ete deja confronter a ce genre de travail? Quelle
solutin avez vous retenu?
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?
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. P lusieurs
millions d'enregistrements, cela ne réclame pas forcément beauc oup 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. Do mmage.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'a vais à le faire,
pour ne pas exposer les bases, j'opterais sans doute pour un tunnel
SSH :
ssh -f -L 1111:localhost:3306 -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èr e
classique, on peut rediriger la sortie de mysqldump vers une connexion
SSH afin d'éviter l'écriture intermédiaire des donnée s sur le disque
local et de créer directement le fichier sur le serveur cible :
mysqldump -q database | ssh -C '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,
http://sebastien.dinot.free.fr/
Ne goûtez pas au logiciel libre, vous ne pourriez plus vous en passe r !
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. P lusieurs
millions d'enregistrements, cela ne réclame pas forcément beauc oup 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. Do mmage.
> 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'a vais à 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èr e
classique, on peut rediriger la sortie de mysqldump vers une connexion
SSH afin d'éviter l'écriture intermédiaire des donnée s 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 passe r !
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. P lusieurs
millions d'enregistrements, cela ne réclame pas forcément beauc oup 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. Do mmage.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'a vais à le faire,
pour ne pas exposer les bases, j'opterais sans doute pour un tunnel
SSH :
ssh -f -L 1111:localhost:3306 -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èr e
classique, on peut rediriger la sortie de mysqldump vers une connexion
SSH afin d'éviter l'écriture intermédiaire des donnée s sur le disque
local et de créer directement le fichier sur le serveur cible :
mysqldump -q database | ssh -C '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,
http://sebastien.dinot.free.fr/
Ne goûtez pas au logiciel libre, vous ne pourriez plus vous en passe r !
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?
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?
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?
@Bernard: Non je ne peux pas changer de DB et passer sous postgesql.
Cela me demanderai trop de travail
06/08/2007 21:55:14
temperature: 51 C
Je teste postgresql et mysql, pour comparer: ya pas photo! Avec les mêmes données:
mysql:
mysql> select count(id) from collars where id in (select id from collars group by id having count(id)>1) ;
+-----------+
| count(id) |
+-----------+
| 251 |
+-----------+
1 row in set (46.16 sec)
postgresql:
pierre=# timing
Chronométrage activé.
pierre=# select count(id) from collars where id in (select id from collars group by id having count(id)>1) ;
count
-------
251
(1 ligne)
Temps : 15,906 ms
Ordre de grandeur 1000 fois + rapide. Bon, mon choix est fait!
@Bernard: Non je ne peux pas changer de DB et passer sous postgesql.
Cela me demanderai trop de travail
06/08/2007 21:55:14
temperature: 51 C
Je teste postgresql et mysql, pour comparer: ya pas photo! Avec les mêmes données:
mysql:
mysql> select count(id) from collars where id in (select id from collars group by id having count(id)>1) ;
+-----------+
| count(id) |
+-----------+
| 251 |
+-----------+
1 row in set (46.16 sec)
postgresql:
pierre=# timing
Chronométrage activé.
pierre=# select count(id) from collars where id in (select id from collars group by id having count(id)>1) ;
count
-------
251
(1 ligne)
Temps : 15,906 ms
Ordre de grandeur 1000 fois + rapide. Bon, mon choix est fait!
@Bernard: Non je ne peux pas changer de DB et passer sous postgesql.
Cela me demanderai trop de travail
06/08/2007 21:55:14
temperature: 51 C
Je teste postgresql et mysql, pour comparer: ya pas photo! Avec les mêmes données:
mysql:
mysql> select count(id) from collars where id in (select id from collars group by id having count(id)>1) ;
+-----------+
| count(id) |
+-----------+
| 251 |
+-----------+
1 row in set (46.16 sec)
postgresql:
pierre=# timing
Chronométrage activé.
pierre=# select count(id) from collars where id in (select id from collars group by id having count(id)>1) ;
count
-------
251
(1 ligne)
Temps : 15,906 ms
Ordre de grandeur 1000 fois + rapide. Bon, mon choix est fait!
Bonjour,
...
J'arrive un peu tard mais j'ajoute quand même mon grain de sel ;-)
Et avant de démarrer le serveur de destination, vérifier les droits sur les
fichiers (mais si c'est les mêmes users des deux cotés ça doit pas poser de
pb).
--
Daniel
Le respect de la démocratie veut que j'ai le dernier mot.
Georges Marchais (1973)
Bonjour,
...
J'arrive un peu tard mais j'ajoute quand même mon grain de sel ;-)
Et avant de démarrer le serveur de destination, vérifier les droits sur les
fichiers (mais si c'est les mêmes users des deux cotés ça doit pas poser de
pb).
--
Daniel
Le respect de la démocratie veut que j'ai le dernier mot.
Georges Marchais (1973)
Bonjour,
...
J'arrive un peu tard mais j'ajoute quand même mon grain de sel ;-)
Et avant de démarrer le serveur de destination, vérifier les droits sur les
fichiers (mais si c'est les mêmes users des deux cotés ça doit pas poser de
pb).
--
Daniel
Le respect de la démocratie veut que j'ai le dernier mot.
Georges Marchais (1973)