2011-11-18 3 views
0

je 2 bases de donnéesMySql base de données mises à jour

Database A - pour le site A

Base de données B - Pour le site B

Les deux bases de données ont la même structure. Une table de ces bases de données est Utilisateur. Ce que je veux faire, c'est que si un utilisateur s'inscrire, modifier ses informations, supprimer son compte du site A puis son impact sur le site B et Verca. Ai-je besoin de combiner la base de données deux en utilisant une fonction MYSQL ou Dois-je exécuter un fichier php en utilisant cron chaque seconde et mettre du code dans le fichier qui vérifie et fait cela (je ne pense pas que ce soit la bonne façon) . Toute forme d'aide sera grandement appréciée.

P.S Ce n'est pas un travail PHP personnalisé. J'utilise un CMS. Je ne veux pas faire cela avec toutes les autres tables de ces bases de données car le site contient des données totalement différentes dans les autres tables de leurs bases de données respectives. Ils partagent juste leurs utilisateurs (peut-être le dites-vous comme un réseau de site). Je veux mettre à jour la table d'utilisateur et un tableau de détail d'utilisateur. Merci

Répondre

0

Il semble que vous vouliez répliquer. Si vous avez vraiment besoin d'écrire des données sur A et B, vous avez besoin d'une réplication maître-maître et ce n'est pas un chemin facile à parcourir. Réfléchissez bien avant de le faire;) Vous pouvez également consulter Tungsten Replicator. Il est open source et fait des choses "presque réplication" qui pourraient répondre à vos besoins.

0

Il semble que ce que vous dites est que siteA et siteB partagent la même table utilisateur. Si c'est le cas, vous ne devriez utiliser qu'une seule table utilisateur. Vous pouvez interroger plusieurs bases de données avec MySQL en incluant le nom de la base de données:

SELECT username from siteA.users where user_id = 3 
+0

La deuxième base de données de site est distante (les deux bases de données ne se trouvent pas sur le même serveur.) –

+0

Si vous utilisez auto_increment pour la clé de la table utilisateur, vous êtes alors en difficulté. – gview

0

Vous pouvez utiliser mysql en mode cluster si vous avez le budget. Ou de nourrir toutes les insertions mises à jour de A à B. Ou utilisez Cronjob comme vous l'avez mentionné. Ou écrire une API pour DB. et là vous insérez/mise à jour dans les deux.

Questions connexes