Replicarea MySQL pentru scenariul de rezervă

Când am două servere MySQL care au diferite locuri de muncă (care dețin baze de date diferite), dar doresc să utilizeze una dintre ele pentru a aluneca atunci când cealaltă nu reușește, ce ați sugera cum păstrez datele pe ambele egale "aproape la timp real "?

Evident, nu este posibil să faceți o plată completă a bazei de date la fiecare x minute.

Am citit despre Jurnalul binar , este că cum trebuie să plec? Oare nu va încetini mult serverul de rezervă? Există o modalitate de a nu include câteva tabele în jurnalul binar - unde nu contează că datele s-au schimbat?

0
fr hi bn
Am avut aceeași problemă exactă, dar nu sunt încă sigur de ce să fac asta. Iată întrebarea mea SO cu câteva alte sugestii date ./mp
adăugat autor mauriciopastrana, sursa

2 răspunsuri

Jurnalul binar este cu siguranță calea de parcurs. Cu toate acestea, trebuie să fiți conștienți de faptul că cu MySQL nu puteți să vă întoarceți înainte și înapoi între astfel de servere.

Un server va fi master , iar celălalt va fi sclavul. Scrieți/citiți la master, dar puteți citi numai de pe serverul slave. Dacă scrieți vreodată sclavului, ei nu vor mai fi sincronizați și nu există nici o modalitate ușoară de a le face să se sincronizeze din nou (în principiu, trebuie să le schimbați astfel încât maestrul să fie noul sclav, dar acesta este un proces manual obositor ).

Dacă aveți nevoie de adevărate baze de date de backup hot-swappable ar putea fi necesar să mergeți la un alt sistem decât MySQL . Dacă tot ce doriți este o copie de rezervă live numai pentru citire pe care o puteți utiliza instantaneu în scenariul cel mai rău caz (masterul este distrus definitiv), jurnalul binar vă va potrivi foarte bine.

0
adăugat

Poate doriți să luați în considerare scenariul de replicare master-master , dar cu o ușoară răsturnare. Puteți specifica care baze de date să reproducă și să limiteze replicarea pentru fiecare server.

Pentru server1 aș adăuga - replicate-do-db = server_2_db și pe server2 - replicate-do-db = server_1_db la my.cnf pe Windows). Aceasta ar însemna că numai declarațiile pentru server_1_db vor fi reproduse pe server2 și invers.

Asigurați-vă, de asemenea, că efectuați backupuri complete în mod regulat și nu doar să vă bazați pe replicare, deoarece nu oferă siguranță de la declarații accidentale DROP DATABASE sau similare.

0
adăugat
MySQL - comunitatea Română
MySQL - comunitatea Română
19 participanți

Comunitatea română a programatorilor MySQL.