Sziasztok.
A következo problémába ütköztem. Van egy mysql master-slave replikáciom.
Az master-en az egyik binary logba hiba keletkezett, ezért nem replikálta a slave-re.
A hiba a logbol:
[ERROR] Slave: Error Table hlr.hlr doesnt exist on query.
Default database: smsgui_smsdb.
[ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with SLAVE START. We stopped at log database_vrh.000025 position 229616708
A master már a database_vrh.000028-nál tart. Én a következot csináltam:
Master:
#USE exampledb;
#FLUSH TABLES WITH READ LOCK;
#SHOW MASTER STATUS;
A master status: database_vrh.000028, 4737339
Slave:
#SLAVE STOP;
#CHANGE MASTER TO MASTER_HOST='x.x.x.x', MASTER_USER='slave_user', MASTER_PASSWORD='', #MASTER_LOG_FILE='database_vrh.000028', MASTER_LOG_POS=4737339;
#START SLAVE;
Most szépen muködik, csak éppen kimaradt jó pár sor. Hogy tudnám a kimaradt sorokat a slave-re replikalni.
- 1380 megtekintés
Hozzászólások
Csak tipp: mi lett volna, ha a 229616708 helyett (ahol a hiba keletkezett) a rakovetkezo 229616709-re allitod a pointert?
- A hozzászóláshoz be kell jelentkezni
a position byte-szintu, tehat jokora hiba lett volna, ahogy a mysql megprobal vegrehajtani egy hianyzo eleju sql parancsot... :)
- A hozzászóláshoz be kell jelentkezni
Thx, nem tudom miert gondoltam, hogy tranzakcioszamot jelol a position...
- A hozzászóláshoz be kell jelentkezni
A kerdesedbol nyilvanvalo, hogy a mysql replikacio lenyeget nem ertetted meg:
A replikacio garantalja, hogy ha
- a ket adatbazis kozott nincs elteres a replikacio indulasakor
- a slave adatbazist nem modositja a replikacio kliensen kivul semmi
akkor a ket adatbazis szinkronban marad.
A fenti peldaban valamelyik tetel nem teljesult, ezert a hibauzenet. Ne probald javitgatni - torold a slave adatbazist es inditsd ujra a replikaciot nullarol.
- A hozzászóláshoz be kell jelentkezni
nalam ha szetesik a mysql, akkor reset master, reset slave, aztan load data from master.
altalaban segit.
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Csak az adatbázis 4 Gb. Es a LOAD DATA FROM MASTER kiakad.
Így dumpolnom kell. Gondoltam van egyszerűbb megoldás.
- A hozzászóláshoz be kell jelentkezni
Elmeletileg, ha kiderited, hogy mely parancsok maradtak ki, es utolag vegrehajtod, akkor elerheted ugyanazt az allapotot, ami a masterben van.
A gyakorlat az, hogy ha ide jutott a replikacio, akkor azonnal ki kell deriteni, mi modositotta a slave adatbazist, leirtani de gyorsan, es nullarol ujat dumpolni. Az elobbi ugyeskedos megoldas az esetek 90%-aban nem hoz hosszantarto eredmenyt.
- A hozzászóláshoz be kell jelentkezni