Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

  • DennusB
  • Registratie: Mei 2006
  • Niet online
Goedemiddag Tweakers,

Ik zit weer eens met een probleem waar ik echt totaal niet meer uitkom.
Ik heb extern een MySQL server draaien voor een website. Prima. Alleen nu komen er intern wat applicaties te draaien die nogal veel leunen op MySQL.
Daar de upload verbinding om te huilen is, is het constant verbinden met die externe MySQL dus niet te doen, des te meer omdat de verbinding niet echt stabiel is.
Ik wil dus intern nog een MySQL server opzetten, en zorgen dat ze master-master replicatie doen. Als ik dan online wat insert synct hij het ook naar intern en andersom :) En dat is de bedoeling.

Nu ben ik er al dagen mee bezig om dit op touw te krijgen, maar blijkbaar is er in de laatste versie van MySQL een grote verandering doorgevoerd waardoor de replicatie-settings in de config file niet meer werken. Hier kwam ik pas achter nadat ik al 2 dagen liep te stoeien. Alleen nu is de vraag, hoe zet ik het dan op zonder die config?
Ik kan nergens een handleiding vinden voor Master-Master of Master-Slave replicatie voor MySQL "5.0.51a-community".

Ik heb al van alles geprobeerd ook op de commandline, commando's als "CHANGE MASTER TO" en dat soort ongein. Alleen niks lijkt te werken. Google heeft me de afgelopen dagen ook geen hulp meer geboden en ik zit nu met de handen in het haar. Ik kom er echt niet meer uit.
Is er iemand die toevallig even een trap in de goede richting kan geven? Zodat ik weer even een stapje verder kom ? :) Misschien iemand die met hetzelfde bijltje heeft gehakt?

Alvast bedankt voor de redder in nood ;)

Owner of DBIT Consultancy | DJ BassBrewer


Verwijderd

Zelf ben ik niet zo heel erg thuis in MySQL, maar ik heb toch wel een paar tips;
http://www.howtoforge.com...ncryption-on-debian-lenny
http://www.howtoforge.com...th-mysql-5-on-debian-etch

Of kijk zelf even op Howtoforge met zoekterm: 'database replication'
Hiermee kreeg ik een load aan mogelijkheden, hoop dat je er iets aan hebt.

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 13:11
Let op dat je bij een Master-Master setup feitelijk 2x een Master-Slave setup hebt.
Je configureert dus beide als master en beide als slave. Dan zou je er met http://dev.mysql.com/doc/...en/replication-howto.html uit moeten komen.

Denk er wel aan dat beide servers in sync zijn (gebruik de binlogs) voordat je de replicatie start, en dat ze beide een andere auto_increment value gebruiken (server 1 oneven ID's, server 2 even ID's). Zie http://dev.mysql.com/doc/...tures-auto-increment.html

[ Voor 29% gewijzigd door frickY op 13-12-2010 15:09 ]


  • DennusB
  • Registratie: Mei 2006
  • Niet online
frickY schreef op maandag 13 december 2010 @ 15:06:
Let op dat je bij een Master-Master setup feitelijk 2x een Master-Slave setup hebt.
Je configureert dus beide als master en beide als slave. Dan zou je er met http://dev.mysql.com/doc/...en/replication-howto.html uit moeten komen.

Denk er wel aan dat beide servers in sync zijn (gebruik de binlogs) voordat je de replicatie start, en dat ze beide een andere auto_increment value gebruiken (server 1 oneven ID's, server 2 even ID's). Zie http://dev.mysql.com/doc/...tures-auto-increment.html
Klinkt als een halfbakken oplossing als ik dat zo hoor? Of zie ik dat verkeerd? :P
En zijn er anders nog andere database systemen die wel makkelijk & ondersteund Master-Master replicatie kunnen doen ? :)

Owner of DBIT Consultancy | DJ BassBrewer


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 13:11
Het lijkt inderdaad wel een beetje rammelig, maar zou ook niet weten hoe je het anders zou kunnen doen.
Op deze manier kun je ook 3 servers in master-master-master replicatie zetten.

  • Keiichi
  • Registratie: Juni 2005
  • Laatst online: 00:04
Een dergelijke opstelling zoals omschreven als het al werkt, lijkt mij niet geheel verstandig.

Stel voor dat je op beide masters in dezelfde tabel in een insert hebt met autoincrement. Op dat moment zijn ze al out of sync en zullen ze ook niet in sync met elkaar raken, omdat beide elkaar deze tupel willen toesturen met verschillende data.

Solar @ Dongen: http://solar.searchy.net/ - Penpal International: http://ppi.searchy.net/


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 13:11
Daarom moet je de auto_increment_increment op 2 zetten (of 3, bij 3 masters, etc). Server #1 laat je beginnen op 1, Server #2 op 2 (met auto_increment_offset).
Doordat ze beide altijd met 2 incrementen overlappen ze elkaar nooit.

Let overigens ook op replicate-same-server-id, anders blijft een mutatie oneindig heen en weer syncen tussen beide master-slave's. Zie bijv MySQL Cluster Replication: Multi-Master and Circular Replication (gaat over clusters, maar hier ook van toepassing).

[ Voor 47% gewijzigd door frickY op 13-12-2010 16:13 ]


  • DennusB
  • Registratie: Mei 2006
  • Niet online
Iedereen alvast bedankt voor de antwoorden :) MySQL Master-Master klinkt met al die oplossingen toch een beetje als een "gare" halfbakken oplossing. Dus ik heb nog even lopen googlen, en volgens mij kan PostgreSQL wel wat ik wil? Kan iemand dit bevestigen? :)

Owner of DBIT Consultancy | DJ BassBrewer


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 13:11
MySQL kan dit prima hoor. Wij draaien al jaren een master-master setup met een offsite server.
Het is slechts een kwestie van weten hoe het werkt; het is geen vinkje dat je even aanzet.

Met de gegeven url's moet je daar absoluut aan uit komen.

  • Keiichi
  • Registratie: Juni 2005
  • Laatst online: 00:04
Hmmm, zo had ik het nog niet bekeken. Dit is misschien wel iets voor mij om even mee te gaan spelen.

Solar @ Dongen: http://solar.searchy.net/ - Penpal International: http://ppi.searchy.net/


  • DennusB
  • Registratie: Mei 2006
  • Niet online
frickY schreef op dinsdag 14 december 2010 @ 11:42:
MySQL kan dit prima hoor. Wij draaien al jaren een master-master setup met een offsite server.
Het is slechts een kwestie van weten hoe het werkt; het is geen vinkje dat je even aanzet.

Met de gegeven url's moet je daar absoluut aan uit komen.
Ja maar draai jij niet toevallig een oude MySQL versie? :) Die nog werkt met de config files.

Owner of DBIT Consultancy | DJ BassBrewer


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 13:11
5.0.77.

In je my.cnf regel je dat auto-increment-increment, auto-increment-offset en replicate-same-server-id goed staan.

Gooi een readlock op één van de masters. Flush de logs en maak een full dump. Release de lock, alle wijzigingen sinds de dump staan dan in je binlogs.
Importeer de dump op de slave-to-be.
Start je slave
SQL:
1
2
CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='slave_user', MASTER_PASSWORD='slave_user_pass', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98;
START SLAVE;


Als dat goed werkt doe je het zelfde maar met de servers omgedraaid.
Pagina: 1