ouarzazat Posté 7 Juillet 2006 Partager Posté 7 Juillet 2006 (modifié) Bonjour à tous, la question est simple: comment synchroniser deux BdD (quelles qu'elles soient), avec une réactivité MAXIMUM, c'est à dire si je touche à ma BdD c'est immédiatement répercuté sur l'autre BdD ? Si vous avez des pistes (XML etc...) je suis preneur! Merci à tous, à+ Modifié 7 Juillet 2006 par ouarzazat Lien vers le commentaire Partager sur d’autres sites More sharing options...
thierry91 Posté 8 Juillet 2006 Partager Posté 8 Juillet 2006 Si ta ou tes db sont sous linux et que tu as un accès shell aux rep de des bdd c'est tout simple, pour les tables que tu souhaites être identique il te faut juste faire des ln -s de ces tables. EX : imaginons que tes bdd soient ici : /home/mysql/ bdd d'origine est ici : /home/mysql/base_origine bdd dans la quelle tu veux avoir certaines tables de la dbb d'origine /home/mysql/seconde_bdd tu fais : cd /home/mysql/base_origine ls -l // Là tu verras les fichiers correspondants à tes tables un truc comme ça : -rw-r----- 1 mysql mysql 8724 fév 9 17:53 admin.frm -rw-r----- 1 mysql mysql 72 jun 15 17:21 admin.MYD -rw-r----- 1 mysql mysql 2048 jun 19 15:54 admin.MYI etc......... Dans cet exemple, nous allons donc avoir la table admin qui serra totalement identique dans tes 2 bdd et pour cela il faudra maintenant faire ce qui va suivre. tu vas dans /home/mysql/seconde_bdd : cd /home/mysql/seconde_bdd et tu fais : ln -s ../base_origine/admin.frm admin.frm ln -s ../base_origine/admin.MYD admin.MYD ln -s ../base_origine/admin.MYI admin.MYI chown mysql.mysql admin* Et voilà le tour est joué. Maintenant que tu écrives dans la table admin depuis la bdd base_origine ou seconde_bdd ce serra pareil. Cette technique peut être utilisé a grande échelle pour avoir une table voire même plusieurs table identique sur des milliers de bases de données sans que cela prenne des ressources serveur supplémentaire. Lien vers le commentaire Partager sur d’autres sites More sharing options...
dièse Posté 8 Juillet 2006 Partager Posté 8 Juillet 2006 (modifié) Je ne pense que ça soit ce que cherche Ouarzazat, des tables uniques partagés par plusieurs bases . Peut-être qu'il faut mieux jeter un coup d'oeil (edit :dans la doc MySQL) dans la doc de ton SGBD du côté de la réplication . Modifié 8 Juillet 2006 par dièse Lien vers le commentaire Partager sur d’autres sites More sharing options...
thierry91 Posté 8 Juillet 2006 Partager Posté 8 Juillet 2006 l'autre solution sont les procédures stockées. Il faut faire une procédure qui dé qu'il y a écriture réplique les données et les place dans l'autre bdd mais bon je préfère ma première solution qui n'utilise aucune ressources système. Lien vers le commentaire Partager sur d’autres sites More sharing options...
dièse Posté 8 Juillet 2006 Partager Posté 8 Juillet 2006 Ne le prend pas mal , mais ta première solution n'a fonctionnellement aucun intérêt ou alors je vois pas ( pour des serveurs mutualisés ? ) . Avec MySQL une solution existe pour assurer la redondance de données c'est la Réplication (ou les clusters mais ça devient techniquement plus compliqué à mettre en place). Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant