[CLOSED] Mysql Replikering Setup 2vejs replikering - med forskellige databaser

  • strict warning: Only variables should be passed by reference in /var/www/clients/client612/web794/web/modules/inline/inline.module on line 418.
  • strict warning: Only variables should be passed by reference in /var/www/clients/client612/web794/web/modules/inline/inline.module on line 418.
  • strict warning: Only variables should be passed by reference in /var/www/clients/client612/web794/web/modules/inline/inline.module on line 418.
peque
Antal: 950
Tilmeldt:
20-04-2005
User is offline
[CLOSED] Mysql Replikering Setup 2vejs replikering - med forskellige databaser

Hey Forum.
Så hører jeg gerne herinde omkring dette.
Jeg kører et lille test setup af mine virtuelle maskiner. Alle Debian med MySQL 8.0.11

Server A - 172.16.0.97
Server B - 172.16.0.98
Server C - 172.16.0.99
Mit spørgsmål er så - Kan det følgende lade sig gøre:
Replication flow.png

Fordi:
Sætter jeg op - så jeg jeg kun fra Server C --> B --> A - replikerer jeg fint og uden problemer.

Men så snart jeg sætter replikeringen igang den anden vej ( Og dette er ikke testet med resrite Custom_Data) stopper al data hos server B

Data kommer fra A --> B !--> C
og det samme modsat C --B !--> A

Dette er med forskellige replikeringsbrugere og kun med rettigheder til de konkrete databaser.
Jeg kan se min logposition ændres på slvaerne og står som de har modtaget alt data - selv når jeg skiller det helt ned til 2 går det galt
Jeg formoder selvfølgelig det er min konfiguration af slaverne der fejler her - så prøvede noget mere forenklet - kun med 2 maskiner.
Jeg har følgende i min konfiguratinsfiler på begge server med forsakellig ID:

master-info-repository          =TABLE
relay-log-info-repository       =TABLE
relay-log-recovery              = 1

Server A har som replic info:

log-bin                              = mysql-bin
binlog_do_db                    = autolog

Server B:

log-bin                         = mysql-bin
binlog_do_db                    = autolog
replicate_do_db                 = autlogo

Dette virker fint - Vil jeg gerne tilsætte det den modsatte vej og i forhold til deres dokumentation omkring replication filter https://dev.mysql.com/doc/refman/8.0/en/replicatio...
Så får JEG det som det skal konfigureres således:
Server A:

log-bin                              = mysql-bin
binlog_do_db                    = autolog,Generic_Data
replicate_do_db                 = b2a:Generic_Data

Server B:

log-bin                         = mysql-bin
binlog_do_db                    = autolog,Generic_Data
replicate_do_db                 = a2ba:autolog

Så kan jeg se de connecter og tæller op - men inserter ikke data: Opretter jeg t1 på Server A i autolog - vises dette ikke på server B
Opretter t1 i Generic_Data på Server B vises det ikke i Server A:
I min show slave status har jeg

               Slave_IO_State: Waiting for master to send event
                  Master_Host: 172.16.0.98
                  Master_User: generic_replic
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 155
               Relay_Log_File: mysqld-relay-bin-s2v.000002
                Relay_Log_Pos: 369
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
Replicate_Do_DB:   <--  !!!!!! hvorfor intet her???
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:

Er der nogen der kan fortælle mig hvad jeg gør forkert her ???
Jeg har kæmpet med dette i dagevis nu - Uanset hvad rammer jeg i det samme resultat!
Jeg er i tvivl om jeg skal til at køre multi Instanses istedet for således jeg bruger port 3306 til autolog og en ny DB service på port 3307 der kører Generic_Data - Det kan jo ikke være rigtigt at man skal hove dobbelt op på server for at replikere 2vejs med forskellige DB


frogmaster
frogmaster's picture
Antal: 4121
Tilmeldt:
20-05-2010
User is offline
Hej pequePrøv at beskrive

Hej peque

Prøv at beskrive hvad du har tænkt dig at bruge det til og hvilke guides du allerede har forsøgt.
Det kan være en anden kan gennemskue om det eksempelvis handler om en master-master replication, men jeg kan ikke.

Det er under alle omstændighede klogt at holde dig til to servere til en start, for at forenkle det, og når det fungere, så prøve med en tredje.

Er det her relevant?
https://www.linode.com/docs/databases/mysql/config...


peque
Antal: 950
Tilmeldt:
20-04-2005
User is offline
Hey Frogmaster Oprindeligt

Hey Frogmaster

Oprindeligt vil setup være følgende:
Server A ( Simulerer vores HQ)
Server B Simluerer Kunde HQ
Server C simluerer Kunde installationer

På alle kundens installationer er der 1 DB kaldet autolog. Dette logger alle målte værdier på lokationen
Skal replikeres hjem til klundens HQ og videre til vores HQ

I Vores HQ Server er der 2 DB Generic_Data og Custom_Data
Disse skal replikeres til Kundens server og videre til alle installationer.

I dag replikerer vi uden problemer Serv er C --> Server B --> Server A
Problemet opstår så snart jeg replikerer den anden vej.
Selve med 2 maskiner kan jeg godt replikere fra Fra Server C --> Server B - Men så snart jeg konfigurerer channel for replikering fra Swerver B --> Server C så kommer der ikke noget data.
Jeg kan jo se der indlæses binlog og positionen kører som forventet der indsættes bare ikke data. Jeg har ingen fejlæ i SQL error.log - tværtimod - siger den er connected og replikerer!
Huh har efterhånden prøvet alle de guides jeg har kunen finde - men ingen som rigtig passer på mit setup.
#17532" title="https://dba.stackexchange.com/questions/17529/setting-circular-replication-in-mysql/17532#17532" rel="external">https://dba.stackexchange.com/questions/17529/sett...
https://www.atlantic.net/managed-server-hosting/ho...
https://www.howtoforge.com/mysql_master_master_rep...
og siden vi MySQL8 - Har jeg kigget en hel del på replication filter fra mysql.com
https://dev.mysql.com/doc/refman/8.0/en/change-rep...
Denne beskriver det fint hvad jeg ønsker ( dog kun den ene vej) https://blog.monyog.com/setting-basic-master-slave...

Som sagt - så snart jeg sætter replikering up fra A --> B = kører fint, men sætter jeg så op med B --> A - stopper replikeringen.
De fleste guides her viser jo desværre MASTER to MASTER replikering af samme database hvor det her er anderledes da det er forskellige DB


frogmaster
frogmaster's picture
Antal: 4121
Tilmeldt:
20-05-2010
User is offline
Det kan jo ikke være

#0: Det kan jo ikke være rigtigt at man skal hove dobbelt op på server for at replikere 2vejs med forskellige DB
Jeg ved det ikke. Jeg har ganske enkelt ikke tilstrækkelig viden.

Det bedste jeg kan tilbyde er henvisninger til specialister i mysql. Det er selvfølgelig nødvendigt at setup er fuldstændigt tydeliggjort på engelsk.

Hvis en søgning kan hjælpe: https://www.google.dk/search?q=mysql+ask+about&oq=...


osjensen
osjensen's picture
Antal: 1430
Tilmeldt:
14-01-2007
User is offline
Jeg ved ingen ting, om

Jeg ved ingen ting, om emnet, men

$mpsyt .Mysql Two Way Replication

giver masser af hits.

1 Tutorial Database Replication Using MySQL 32:29
2 MySQL Database Replication - Part #3 (Two-Ways Replication) 17:27
3 Two Way Replication - Multi Master Replication using SymmetricDS (MySQL - SQL Server) 10:10
4 Two Way Replication (SymmetricDS): MySQL - SQL Server 05:36
5 How to synchronize two databases by using MySQL Workbench - MySQL DBA Tutorial 06:31
6 MYSQL REPLICATION 14:39
7 Two Way Replication - Multi Master Replication using SymmetricDS (MySQL - SQL Server) 06:48
8 How to Set Up MySQL Replication 03:08
9 Getting The Most From MySQL Replication 21:23
10 MySQL: Set up Master-Slave Replication 29:28
11 How Booking.com Avoids and Deals with MySQL/MariaDB Replication Lag 43:36
12 Configure SymmetricDS & One Way Replication (MySQL - SQL Server) 08:49
13 Configure SymmetricDS & One Way Replication (MySQL - SQL Server) 15:39
14 Lesson 11: Setting Up MySQL Replication - UniversalClass MySQL Course 32:39
15 Master to Master Replication with SymmetricDS ( Two Way Replication ) 10:56
16 How to Configure MySQL Master-Slave Replication on Ubuntu Linux 07:50
17 SymmetricDS Replication : MySQL - SQL Server (Master - Slave) 14:57
18 Two Way Database Replication with Symmetric DS (MySQL - SQL Server) 07:53
19 How to configure MySQL Master-Master replication in CentOS 7 17:12
20 MySQL: Set up Master-Master Replication 19:28
21 Two Way Database Replication Master to Master SQLSERVER to MySQL 02:37
22 MySQL Replication (With MySQL Proxy in front) 13:15
23 Two Ways Replication 21:49
24 [Tutorial] Mysql Replication - Realtime Backup database (master - slave) 32:16
25 master2master - two way replication MSSQL & MySQL 11:08

+ mange flere.

Windows, giver dig det du betaler for.
Linux, giver dig det du vælger.


frogmaster
frogmaster's picture
Antal: 4121
Tilmeldt:
20-05-2010
User is offline
giver masser af hitsDet

#4: giver masser af hits
Det er problemet. For specialiseret besvarelse, er det formentligt nødvendigt at spørge specialister i mysql.


peque
Antal: 950
Tilmeldt:
20-04-2005
User is offline
#3 Problemet er jo lidt

#3
Problemet er jo lidt mange af disse exempler er med en database/r alle steder hvilket ikke er mit .- her et flow begge veje ink en rewrite :-)
Men jo alle de forskellige løsninger som du selv lister - de fleste har jeg gennemgået uden den ønskede success.

#5 Det er jo lige præcis det ( og det er også gjort )


osjensen
osjensen's picture
Antal: 1430
Tilmeldt:
14-01-2007
User is offline
Lidt som

Lidt som -
https://www.youtube.com/watch?v=O2qjOPox-3I

Windows, giver dig det du betaler for.
Linux, giver dig det du vælger.


peque
Antal: 950
Tilmeldt:
20-04-2005
User is offline
Nå - En lille update. Dette

Nå - En lille update.
Dette kan ikke gøres med 2 ways replikering - det havde været muligt hvis det kørte i ring - men det er ikke det vi ønsker.

Det vil blive lavet med en Webservice - der trigger flow fra A --> B --> C
Replikering vil køre fra C --> B --> A