Stratégies de synchronisation de deux bases de données mySQL (dans des emplacements distincts)?

Duplication possible:
Quel est le meilleur moyen de synchroniser en temps réel des données dynamics en temps réel à l’aide de mysql

J’ai besoin de conseils:

Comment conserver 2 bases de données mySQL (même structure) synchronisées sur 2 sites?

Que suis-je en train de faire:
Je crée une application pour une entreprise avec deux emplacements. Ils doivent partager / mettre à jour des informations dans une firebase database, MAIS le propriétaire veut qu’il soit interne et non externe, car il craint de pouvoir fonctionner en cas de panne d’Internet.

Ma stratégie jusqu’à présent:
J’ai mis en place deux serveurs (un dans chaque emplacement) Chacun exécutant Apache + MySQL local. La webapp n’est pas accessible sur Internet, uniquement localement. Le mySQL est accessible via SSL via Internet (avec un mot de passe complexe).

L’application Web locale s’exécute et interagit avec mySQL local pour les lectures. Pour les écritures, il écrit localement puis sur le serveur distant (écriture 2x).

Je m’inquiète de la création d’entrées dupliquées / corrompues lorsque les identifiants des enregistrements peuvent être dupliqués / différents, etc. .

En bout de ligne … C’est le meilleur que je puisse trouver après avoir effectué des recherches approfondies. Ai-je raison? Ou quelqu’un peut-il offrir des conseils?

Cela s’appelle la réplication , et MySQL (comme tout système de gestion de firebase database mature) a un support natif pour cela. Voir: http://dev.mysql.com/doc/refman/5.0/en/replication.html

Vous recherchez peut-être des transactions dissortingbuées. MySQL offre un support de transaction XA (voir leur documentation pour plus d’informations).