Aller au contenu

Synchronisation de BdD


ouarzazat

Sujets conseillés

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é par ouarzazat
Lien vers le commentaire
Partager sur d’autres sites

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

Je ne pense que ça soit ce que cherche Ouarzazat, des tables uniques partagés par plusieurs bases :huh: .

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é par dièse
Lien vers le commentaire
Partager sur d’autres sites

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

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 ? :huh: ) . 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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...