Mysql base de données de synchronisation entre les deux bases de données
Nous sommes en cours d'exécution Java Point de Vente (PoS) de l'application dans divers commerces, avec un backend MySql. Je veux garder les bases de données dans les boutiques synchronisée avec une base de données sur un serveur hôte.
Lorsque certains changements se produisent dans une boutique, ils devraient se faire de mise à jour sur le serveur hôte. Comment puis-je y parvenir?
- la réplication mysql: dev.mysql.com/doc/refman/5.0/en/replication.html
- Est-ce facile à faire ?? combien de temps do u pense que ça va prendre ??
- La réplication MySQL est assez facile à mettre en place. Quelques commandes et une synchronisation initiale. M'a pris environ 30 minutes de ma première fois.
- spot sur bonne question, je me demandais la même chose pour le même but]
- Vous pouvez soit utiliser la réplication MySQL fonction ou s'il existe des outils disponibles qui ne synchronisation de base de données, ils sont répertoriés ici stackoverflow.com/questions/52583/...
- Pour synchroniser les bases de données qu'ils doivent avoir la même définition et les données peuvent être synchronisées. Vous pouvez essayer de SQLyog, MySQL Workbench,etc. qui pourrait faire de l'aide.
- Je vais voter pour fermer cette question hors-sujet, car il appartient à dba.stackexchange.com.
Vous devez vous connecter pour publier un commentaire.
La réplication n'est pas très difficile à créer.
Voici quelques bons tutoriels:
http://aciddrop.com/2008/01/10/step-by-step-how-to-setup-mysql-database-replication/
http://www.ghacks.net/2009/04/09/set-up-mysql-database-replication/
http://dev.mysql.com/doc/refman/5.5/en/replication-howto.html
http://www.lassosoft.com/Beginners-Guide-to-MySQL-Replication
Ici quelques règles simples que vous devrez garder à l'esprit (il y a plus, bien sûr, mais c'est le concept principal):
De cette façon, vous permettra d'éviter les erreurs.
Par exemple:
Si votre script à insérer dans les mêmes tables à la fois maître et de l'esclave, vous aurez le double de la clé primaire de conflit.
Vous pouvez visualiser la "esclave" comme une "sauvegarde" du serveur qui contiennent les mêmes informations que le maître, mais ne peut pas ajouter directement les données, que suivre ce que le maître instructions du serveur.
REMARQUE: bien sûr, vous pouvez lire à partir de le maître et vous pouvez écrire à l'esclave, mais assurez-vous de ne pas écrire sur les mêmes tables (maître de l'esclave et l'esclave du maître).
Je vous recommande de surveiller vos serveurs pour s'assurer que tout est bien.
Laissez-moi savoir si vous avez besoin d'aide supplémentaire
SHOW SLAVE STATUS\G
puis regarder pour toute "erreur", si vous avez 0 ou vide, vous y êtes!trois approches différentes:
Classique de l'approche client/serveur: ne mettez pas de base de données dans les magasins; il suffit d'avoir les applications d'accéder à votre serveur. Bien sûr c'est mieux si vous avez configuré un VPN, mais simplement de l'emballage de la connexion en SSL ou ssh est raisonnable. Pro: c'est la façon dont les bases de données ont été pensé à l'origine. Con: si vous avez une latence élevée, des opérations complexes pourrait devenir lent, vous pourriez avoir à utiliser des procédures stockées pour réduire le nombre d'allers-retours.
répliqué master/master: comme @Livre De Zeus suggéré. Inconvénients: un peu plus complexes à configurer (surtout si vous avez de plusieurs magasins), la rupture dans n'importe quel magasin de la machine sont susceptibles de compromettre l'ensemble du système. Avantages: plus de sensibilité que les opérations de lecture sont totalement locaux et les opérations d'écriture sont propagées de façon asynchrone.
les opérations hors ligne + sync étape: faire tout ce travail à l'échelle locale et de temps en temps (peut-être une fois par heure, jour, semaine, peu importe) rédiger un résumé avec toutes les nouvelles/les enregistrements modifiés depuis la dernière synchronisation et de les envoyer au serveur. Avantages: peut fonctionner sans réseau, rapide, facile à vérifier (si le résumé est lisible). Inconvénients: vous n'avez pas l'information en temps réel.
SymmetricDS est la réponse. Il prend en charge plusieurs abonnés avec une direction ou bi-directionnelle asynchrone de réplication de données. Il utilise le web et les technologies de base de données à répliquer des tables de bases de données relationnelles, en temps quasi réel, si vous le souhaitez.
Complet et robuste API Java pour répondre à vos besoins.
Ont un coup d'oeil à Le schéma et les Données des outils de Comparaison dans dbForge Studio for MySQL. Cet outil va vous aider à comparer, pour voir les différences, de générer un script de synchronisation et de synchroniser deux bases de données.