web-dev-qa-db-fra.com

Réplication dans le même serveur dans différentes bases de données. Mysql 5.6

Ce que j'ai :

  • une machine Windows avec une instance de MySQL 5.6 Server.
  • deux bases de données nommées test et test2.
  • Test _ Base de données a une table appelée activity avec des colonnes id et class _

Ce dont j'ai besoin :

  • réplication de test.activity table à test2 Base de données avec une condition selon laquelle Test.activity.class = 'B'.

Je sais comment reproduire avec différents serveurs. Mais pas pour le même serveur au sein de différentes données. J'ai vérifié ce lien , mais cela ne donne pas assez d'informations.

3
Ankit Kapoor

Ce ne serait pas une situation normale du tout! Vous ne pouvez pas modifier la base de données pendant la réplication et le maître/esclave ne peut pas avoir les mêmes identifiants de serveur. Je recommanderais si vous devez le faire, puis configurez des déclencheurs sur la première dB, pour reproduire les commandes d'insertion/mise à jour par rapport au second.

0
Dave Rix

Parce que c'est sur le même serveur, pourquoi ne pas utiliser de déclencheur pour cela?

Si vous voulez simplement répliquer des données, vous pouvez ajouter un triger sur la mise à jour ou l'insertion ou les deux que vous avez besoin. De cette façon, vous pouvez utiliser votre condition facilement. La réplication principale/esclave serait meilleure pour différents serveurs.

Vous pouvez regarder ici pour les exemples de déclenchement MySQL. Et ici est un échantillon pour votre cas.

0
mim.

Si je comprenais correctement votre besoin, vous pouvez avoir 2 instances MySQL sur un seul serveur (OS), puis vous pouvez configurer l'un d'entre eux comme maître et un autre comme esclave. Vous devez créer différents my.conf, nous l'avons nommé my1.conf et my2.conf que chacun doit être différent sur le numéro de port et le chemin de la prise et le chemin d'erreur de journal et d'autres paramètres. Avec cette approche, vous exécuterez 2 démon mysql avec différentes configurations. Pour Terminer Doc s'il vous plaît aller à https://dev.mysql.com/doc/refman/5.1/fr/MultiPle-Servers.html .

0
nima0102

Essayez Sandbox MySQL, cela résoudra probablement votre problème ( http://mysqlsandbox.net/ )

0
greenlitmysql

Parce que:

réplication du test.Activity Tableau pour tester la base de données avec une condition qui test.Class.class = 'B'.

La réplication native ne aide pas, et dans ce cas, mieux de quitter la base de données sur le même serveur et d'installer simplement la gâchette pour INSER/UPDATE/Supprimer la base de données MASTER, qui vérifiera les conditions et apportera des modifications directes sur la deuxième base de données.

C'est le moyen le plus simple. Il y a beaucoup d'autres possibles.

0
a_vlad