Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
689 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Copier tables MySQL vers un autre serveur

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Copier tables MySQL vers un autre serveur

n°2055391
jerryone3
Gamer
Posté le 09-02-2011 à 14:32:21  profilanswer
 

Bonjour à tous,
 
je cherche donc à copier intégralement des tables spécifiques (qui peuvent être très volumineuses) d'une base de donnée vers une autre, celles ci ne se trouvant pas sur le même serveur. J'ai pu trouver comment copier une base de donnée complète d'un serveur à un autre, comment copier une table d'une base à une autre sur le même serveur, mais pas ce que je cherche !
 
Directement en SQL, en PHP ou en linux, je suis preneur :)
 
Merci d'avance ! ;)


---------------
Si ça n'explose pas, vous ne faites pas avancer la science.
mood
Publicité
Posté le 09-02-2011 à 14:32:21  profilanswer
 

n°2055396
esox_ch
Posté le 09-02-2011 à 14:34:08  profilanswer
 

Tu dumpes avec mysqldump, et après tu le recharges sur l'autre serveur. Je suis pas sûr de voir où est le problème :heink:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2055413
jerryone3
Gamer
Posté le 09-02-2011 à 14:41:46  profilanswer
 

bah je cherches à faire ça de manière automatisée, à l'aide d'un cron :)
 
Faudrait que les tables sélectionnées soient copiées.


---------------
Si ça n'explose pas, vous ne faites pas avancer la science.
n°2055426
esox_ch
Posté le 09-02-2011 à 14:55:35  profilanswer
 

Attend mais c'est quoi le but? Parce que c'est bien beau de recopier des tables d'un serveur à l'autre, mais ton cron c'est pour faire quoi?
Tu veux faire des backups? T'essaie de mettre en place un système de miroring/replication du pauvre? Tu peux nous en dire un peu plus sur tes besoins réels?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2055441
jerryone3
Gamer
Posté le 09-02-2011 à 15:09:33  profilanswer
 

D'accord :)
 
(suis sage)
 
Donc, je vais avoir besoin d'exploiter les données provenant d'un serveur dans le cadre de statistiques sur un autre serveur, qui contient d'autres données. Ainsi, la décision qui a été prise est de ramener une fois par jour toutes les tables nécessaires du premier serveur où elles sont stockées et mises à jour au fur et à mesure vers le second serveur, où se trouvent les tables nécessaires à la mise en parallèle des données. J'écraserais ainsi toutes les tables déjà présentes.
 
Cependant, je le répète, il s'agit de quelques tables, je ne veux pas créer de miroir de toute la BDD du premier serveur.
 
Voila ;)


---------------
Si ça n'explose pas, vous ne faites pas avancer la science.
n°2055451
esox_ch
Posté le 09-02-2011 à 15:19:00  profilanswer
 

D'accord je vois.
Donc ce que je ferais moi c'est ceci (S = Serveur Source, avec les tables à exporter, P = Serveur qui fait tourner ton processus de statistiques).
 
- Cron sur S, tu mets le "mysqldump" qui te sort les tables que t'as besoin dans un fichier SQL dans un répertoire bien précis.
- Sur P, tu faits un montage réseau (via NFS, CIFS ou SSHFS, avec une nette préférence pour ce dernier) du répertoire de S dans lequel viennent les dumps.
- Cron sur P, quand tu veux, tu purges les tables à importer, ensuite tu charges le dump SQL qui se trouve dans ton montage réseau via la le bash ..
 
C'est bête et méchant.. Le seul truc c'est que là t'as aucune manière de t'assurer que :
- Les données que tu load sur P n'ont pas été modifiées/compromises, que ce soit sur S ou par une attaque style man-in-the-middle (même si c'est dûr avec SSHFS)
- Que les données que tu charges ne sont pas déjà complètement obsolètes car entre temps de gros insert/delete/update ont été balancés sur S.
 
Il y a toujours la possibilité d’agrafer les 2 bases ensembles par contre là ton réseau risque de prendre cher (et à mon avis les perf vont être nulles)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2056969
jerryone3
Gamer
Posté le 15-02-2011 à 13:53:34  profilanswer
 

J'ai trouvé une commande qui permette de le faire en une seule étape :  
 
mysqldump --quick --skip-triggers -u$from_user -p$from_password $from_database $tables_list | mysql --host=$to_server -u$to_user -p$to_password -C $to_database
 
En remplaçant les différentes variables par ce qu'il faut, bien sur !
Il faut exécuter la commande sur le serveur où se situent les tables, avec un $from_user qui a le droit d'effectuer un dump.
Il faut s'assurer que le $to_user a le droit d'accéder à MySQL depuis l'extérieur.
 
J'espère que ça pourra en aider certains !
 
Merci à tous !


---------------
Si ça n'explose pas, vous ne faites pas avancer la science.
n°2056972
esox_ch
Posté le 15-02-2011 à 13:57:48  profilanswer
 

Heu accessoirement ta commande là elle marche pas forcément dans toutes les configuration ... et pis c'est pas une commande, ça en est 2 avec un pipe entre ..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2056973
rufo
Pas me confondre avec Lycos!
Posté le 15-02-2011 à 14:01:18  profilanswer
 

Au fait, un ETL pourrait pas faire l'affaire?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Copier tables MySQL vers un autre serveur

 

Sujets relatifs
Charset modifié entre Mysql et mes pages webCommunication sécurisée client/serveur
Parser un fichier BibTex pour l'insérer dans une bdd MySQL[ACCESS 2007] faire un formulaire sur 3 tables
vieux site avec base en ISO-8859-1 ou windows-1252 vers UTF-8Récupération de donénes mysql après upgrade
redirection auto de mondomaine.tld vers www.mondomaine.tld[RESOLU] [MySQL] Jointures sur 3 tables
Mysql 5/SQLServer - Cherche grosse base de données 
Plus de sujets relatifs à : Copier tables MySQL vers un autre serveur


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR