DOAG 2011: MySQL Replication

  • Published on
    09-May-2015

  • View
    591

  • Download
    2

Embed Size (px)

Transcript

  • 1.MySQL Replikation fr Einsteiger DOAG Conference 2011, NrnbergOli Sennhauser Senior MySQL Consultant at FromDual GmbH oli.sennhauser@fromdual.comwww.fromdual.com1

2. FromDual GmbH FromDual bietet neutral und unabhngig: Beratung fr MySQL (vor Ort und remote) Remote-DBA / MySQL Betrieb Support fr Galera (synchrone Replikation) Support fr MySQL (Basic und Silber) Schulung fr MySQL Consulting Partner der Open Database Alliance(ODBA.org) Oracle Silber Partner (OPN) Mehr Informationen unter:http://www.fromdual.com www.fromdual.com2 3. Kunden www.fromdual.com 3 4. Inhalt MySQL Replikation Was ist Replikation? Wie funktioniert MySQL Replikation? Wie wird Replikation aufgesetzt? Wann brauche ich MySQL Replikation? Neuerungen in 5.1, 5.5 und 5.6 Varianten der Replikationwww.fromdual.com 4 5. Was ist Replikation? Daten von einer Datenbank auf eine odermehrere andere Datenbanken weiterreichen:ApplikationMaster Slave Daten = UPDATE, INSERT, DELETE, ... (= DMLStatements) oder (binre) Eventswww.fromdual.com 5 6. MySQL Replikation Wie funktioniert die MySQL Replikation?Applikationbinlog dump IO_threadthread master.info Initialer DumpSQL_threadMaster asynchronSlave relay-log.infobinary log writer thread... bin-log.m bin-log.n... relay-log.m relay-log.n bin-log.index www.fromdual.com 6 7. Vorbereiten des Masters Auf dem Master im my.cnf: Binary log einschalten:logbin=binlog Server ID setzen:server_id=42 Muss im Replikations-Setup Unique sein! Server neu starten (downtime!)www.fromdual.com7 8. User anlegen und Dump ziehen Immer noch auf dem Master: Replikations-User anlegen:CREATEUSERreplication@192.168.1.%IDENTIFIEDBYsecret;GRANTREPLICATIONSLAVEON*.*TOreplication@192.168.1.%; Initialen konsistenten! Dump ziehen:mysqldumpalldatabasessingletransaction(lockalltables)masterdata>full_dump.sql www.fromdual.com 8 9. Aufsetzen des Slaves Neue Datenbank erstellen (2. Maschine)./scripts/mysql_install_dbdatadir=/var/lib/mysql Andere Server ID setzen: server_id=43 Slave auf seinen Master ansetzen: CHANGEMASTERTOmaster_host=192.168.1.42,master_port=3306,master_user=replication,master_password=secret; Initialen konsistenten Dump einspielen:mysqlurootbinlog.000001.dup Delayed ReplicationCHANGEMASTERTOMASTER_DELAY=n; Frher mkslavedelay (Maatkit) Neue Variablen: log_bin_basename und log_bin Aus den Oracle Labs: Multi-threaded Slave / Parallel Slave Multi-source Replikation? www.fromdual.com23 24. Synchrone Replikation mit Galera Codership (www.codership.com) Synchrone Replikation Certification Based Replication, kein 2PC! Echte Multi-Master Replication Skaliert sowohl lesend als auch schreibend www.fromdual.com24 25. Galera (synchronous) Replication App AppApp Load balancing (LB)Node 1 Node 2Node 3 wsrep wsrepwsrepGalera replication www.fromdual.com 25 26. Galera (synchronous) Replication App AppApp Load balancing (LB)Node 1 Node 2Node 3 wsrep wsrepwsrepGalera replication www.fromdual.com 26 27. Galera im Master-Slave Modus AppAppAppwritereadVIPLoad Balancingwriteread Node 1Node 2 Node 3...wsrepwsrep wsrepGalera replicationwww.fromdual.com27 28. Galera ber Standortgrenzen AppAppAppAppLocation ALocation B LBLBNode 2Node 1 Node 3 Node 4 wsrepwsrepwsrepwsrepGalera replicationwsrep garbdLocation Cwww.fromdual.com28 29. Vorteil und Nachteile von GaleraSynchrone ReplikationBasiert auf der InnoDB SE (andere SE theoretisch mglich)Echte aktiv-aktiv Multi-Master TopologyLesen und Schreiben auf alle Cluster-KnotenAutomatisches Membership Control (wer darf dazugehren)Echtes paralleles Replizieren auf ZeilenebeneKein Slave-Lag (Hinterherhinken)Keine verlorenen TransaktionenSkaliet fr Lese- UND Schreib-Operationen (Read Scale-Out!)Patch der MySQL Binaries (Codership stellt Binaries zur Verfgung)Vorsicht bei Hotspots auf einzelnen RowsHhere Wahrscheinlichkeit fr Dead LocksSnapshot State Transfer (initiales Syncen) blockiert frs Schreiben 3 KnotenInitiales Syncen fr sehr grosse DBs (>>50 Gbyte) noch mit mysqldump www.fromdual.com29 30. Tungsten Replicator Continuent (www.continuent.com) Master/Slave Replikation (asynchron) Basiert auf MySQL Binary Logs! Fr MySQL und PostgreSQL! Bentigt Java und Ruby Fhrt eine globale Transaktions-ID ein Multi-Source Replikation mglich! Parallele Replikation (pro Schema) Hoster, SaaS MySQL Versionen spielen keine Rolle www.fromdual.com30 31. Tungsten Replicator Architektur www.fromdual.com 31 32. MySQL Community EventHeute Dienstag 15. November 18:00Restaurant El Canto (peruanische Kche)unterhalb der Burg Keine Meerschweinchen!Bei Interesse bitte melden!www.fromdual.com32 33. Q&AFragen ?Diskussion?Wir haben noch Zeit fr persnliche und indviduelle Beratungen... www.fromdual.com 33

Recommended

View more >