Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Ideja za replikaciju?

[es] :: MySQL :: Ideja za replikaciju?

[ Pregleda: 2634 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

anon115774

Član broj: 115774
Poruke: 1656



+920 Profil

icon Ideja za replikaciju?11.03.2017. u 10:44 - pre 85 meseci
Pozdrav

Treba mi ideja kako da izvedem replikaciju na udaljeni server cisto iz razloga back up-a. Varijanta da se jednom dnevno radi dump nije varijanta tako da bi idealno bilo da se radi replikacija uzivo (ili sa nekim razumnim kasnjenjem) ali sve sto sam uspeo da pronadjem podrazumeva da treba da zaustavljam trenutnu produkciju pa da kopiram neke snapshotove i slicno.

Treba mi nesto sto mogu da postavim dok server trci (uz eventualno restart ili tako nesto sto ne traje duze od par sekundi) i da se radi replikacija svega sto je vec u bazi a ne samo varijanta "od sad, pa na dalje i u buduce".
 
Odgovor na temu

Aleksandar Đokić

Član broj: 13478
Poruke: 4793
*.net.upcbroadband.cz.



+638 Profil

icon Re: Ideja za replikaciju?11.03.2017. u 12:30 - pre 85 meseci
Uzivo replikacija se zove sinhrona, a sa tim "malim" kasnjenjem asinhrona. U prvom slucaju nemas gubitak podataka, u drugom zavisi od kasnjenja.

Realno to sto ti hoces je prilicno jednostavno, i imas mali milion uputstava na internetu za to (master-slave etc).
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Ideja za replikaciju?11.03.2017. u 13:12 - pre 85 meseci
mysql ne podrzava sinhronu repllikaciju ni u kojoj konfiguraciji ni sa
jednim forkom ...

najbolje sto mozes je semisinhrona replikacija (koja ce usporiti master)

obicna asinhrona replikacija bi trebalo da je vise nego dovoljno za to
sto tebi treba, turi binlog na masteru na neki mirror disk i vozi misko
 
Odgovor na temu

nkrgovic
Nikola Krgović
Beograd

Član broj: 3534
Poruke: 2807

ICQ: 49345867
Sajt: https://www.twinstarsyste..


+655 Profil

icon Re: Ideja za replikaciju?11.03.2017. u 15:36 - pre 85 meseci
OK, prvo, mora da ti je ukljucen binlog. Ako nije, moras da ga ukljucis.

Sledece, upises podatke, binlog fajl i pozicija. Ako hoces klasicno resenje, uradis mysqldump sa --master-data i upisace ti to u dump, ali onda ces da lockujes celu bazu dok traje dump. Nije downtime, ali je lock, nema pisanja.

Alternativno, uhvatis to sam, samo zapises iz SHOW MASTER STATUS\G, i onda uhvatis backup sa xtrabackup-om, pogledaj Percona Xtrabackup, to je free resenje za live backup.

Ubacis backup u slave. Dodas podatke za reklikaciju, trebace ti user koji moze da daje replikaciju, GRANT REPLICATION je komanda koju treba da guglas. :) TO sve upucas u slave sa CHANGE MASTER TO ... tu ces upucati IP, username, password, binlog poziciju i ime binlog fajla.

Upalis replikaciju sa start slave i to je to. :)

Ovo nije 100% detaljno, ali mislim da sam pokrio sve korake, samo ces morati da citas dokumentaciju i koristis google. :D

Semisinhrone varijante, tipa Galera, su fenomenalne za neke stvari (koristio), ali ne bi preporucio remote osim u kontrolisanim uslovima. Ako ne znas puno o tome, nemoj se igrati, moze da boli... Uostalom, ako ti treba remote semisinhrona replikacija i moras da imas dve udaljene kopije za biznis, onda imas i dva datacentra (realno 3), imas brze linkove garantovano izmedju njih, imas na sva tri mesta vrlo pristojne servere, a onda imas biznis koji bi trbealo da moze da plati i support za to lepo Percona-i. :D Ako ti treba backup sasvim ti je dovoljna asinhrona replikacija, samo postojanje binloga na drugom disku je vec neka garancija za hardverske otkaze iz koga ces moci da uniknas i ono sto nije proslo.

Da, ovo ces sigurno naci svuda, ali :

- Sve tabele MORAJU da imaju primarne kljuceve. Boli drugacije.
- Binlog MORA da bude u ROW formatu - NIKAKO STATEMENT.

Konacno, ako vec imas bitnu datu, nabavi ok brz hardver (dva SSD-a u RAID 1 peglaju sve razumene primene) i drzi innodb_flush_log_at_trx_commit na 1 .

Malo sam kratak, ali sve ovo mozes da izguglas. :D Imas pointere sta da trazis u svakom slucaju.


Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
 
Odgovor na temu

anon115774

Član broj: 115774
Poruke: 1656



+920 Profil

icon Re: Ideja za replikaciju?11.03.2017. u 19:33 - pre 85 meseci
Hvala momci. Sve ja to kapiram ali mi nije jasno kako to da uradim sa bazom koja vec ima podatke i koja ne trpi bilo kakav downtime?
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Ideja za replikaciju?12.03.2017. u 04:40 - pre 85 meseci
1. ako taj rdbms vec nema bekap i nema binlog upaljen, kazes gazdama
"ovo nije namesteno kako treba, ako hocete da se namesti kako treba MORA
downtime, planirajte maintenance window za kad god vam odgovara ali bez
toga N.E. M.O.Z.E."
da bi skratio downtime mozes da odes na edelivery na oracle i skines
enterprise mysql i iz njega izvadis mysqlbackup koji moze da ti napravi
on-line bekap (bez lokova i cuda muda) bekap mysql-a i taj bekap onda
apply na slave etc etc... naravno treba da namestis sad taj master da
radi kako valja, da generise raw binlog, da tuce taj binlog na neki
mirror .. na taj nacin mozes da imas minimalni downtime (koliko ti treba
da resnes mysql) ...

2. ako je bekap + binlog upaljen, uzmes zadnji bekap, apply na slave, iz
bekapa procitas koji mu je binlog position, pokupis binlog i apply sve
posle tog binlog position-a i dalje namestis klasicno master-slave
replikaciju


sa edelivery mozes da skines bilo sta komercijalno od orakla "da
probas", znaci nista nije osakaceno niti ima kljuceve cuda muda, samo
licencu koja kaze da ako to hoces da koristis mora platis... ti uzmes to
i probas da vidis kako ti to radi i kad zavrsis posao obrises taj
mysqlbackup binary i ti nikakav licence agreement nisi prekrsio... sad
ako ti se svidja kako radi enterprise backup -> objasnis firmi da je $5k
za enterprise mysql godisnje dzaba i da support+enterprise tools vrede
mnogo vise.. i da ne moze i dobro i dzaba i brzo jbg..


NOTE: pre nego krenes BILO STA da radis proveri da li SVE tabele u bazi
koja se replicira imaju primary key, ako nemaju, reci im da prvo to
regulisu pre nego se uzmes bilo sta da tu budzis
 
Odgovor na temu

[es] :: MySQL :: Ideja za replikaciju?

[ Pregleda: 2634 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.