Kliknite tukaj, da si ogledate profil, kot ga vidijo drugi

Replikacija MySql baze med dvema strežnikoma

  Spoznali bomo, kako lahko dosežemo, da se vsi podatki v Mysql bazi ob spreminjanju avtomatsko prenašajo v bazo, ki se nahaja na drugem strežniku.
 
 
1
 
 

MySql ima vgrajen mehanizem za avtomatsko varnostno kopiranje oz. replikacijo sprememb bazi na drug strežnik.


Konfiguracija glavnega strežnika

Za vklop replikacije bomo morali nastaviti določene parametre MySql strežnika.

Odprite my.ini (oziroma my.cnf na linux-u) datoteko vašega MySql strežnika.


 
 
2
 
 

V sekcijo [mysqld] vstavite naslednje tri parametre:

server-id = 1
log-bin=mysql-bin
binlog_do_db = ime_vase_baze

server-id je poljubna številka, ki se mora biti različna za različne MySql strežnike

log-bin je datoteka, kamor se bo shranjevalo stanje o trenutnih spremembah na bazi. Ime je lahko poljubno.

binlog_do_db pa vsebuje ime vaše baze, ki jo želite replicirati.


Po spremembi na strežniku ponovno zaženite MySql servis.

 
 
3
 
 

V phpMyAdmin izvedite naslednja dva ukaza:

GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'password';

FLUSH PRIVILEGES;

Prvi ukaz doda uporabnika slave_user, kategera geslo je password, ter mu dodeli pravice za replikacijo.

Drugi ukaz pa samo osveži stanje o uporabnikih.


 
 
4
 
 

Sedaj bomo naredili posnetek stanja trenutne baze.

Bazo najprej zaklenemo z ukazom:

FLUSH TABLES WITH READ LOCK;

 

 
 
 
 
 
5
 
 

Sedaj izvedemo ukaz

SHOW MASTER STATUS;

Izpisani podatki so pomembni in jih bomo potrebovali kasneje pri konfiguraciji pomožnega strežnika

 
 
6
 
 

Naredimo še izvoz vseh podatkov trenutni bazi.

 
 
7
 
 

Na koncu še odklenemo tabele z ukazom

UNLOCK TABLES;

 

S tem smo z nastavitvijo glavnega strežnika končali.

 
 
8
 
 

Konfiguracija pomožnega strežnika

Podobno kot glavni strežnik, sedaj tudi na pomožnem MySql strežniku dodamo naslednje parametre

server-id = 2
log-bin=mysql-bin
binlog_do_db = ime_vase_baze


server-id naj bo različen, kot na primarnem strežniku, ime baze pa mora biti isto.

 
 
9
 
 

Sedaj bomo na nastavili, kje lahko pomožno strežnik dobi podatke.

CHANGE MASTER TO MASTER_HOST='10.0.0.1',MASTER_USER='slave_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=  346;

Pri tem uporabimo istega uporabnika in geslo, kot smo ga nastavili na primarnem strežniku.

Prav tako moramo vpisati pravilne podatke za MASTER_LOG_FILE in MASTER_LOG_POS, ki smo jih dobili v 5. koraku te lekcije.

 

 
 
10
 
 

V bazo na pomožnem strežniku sedaj še uvozimo podatke iz trenutnega strežnika, ki smo jih dobili v 6. koraku.

 
 
11
 
 

Na koncu pa startamo replikacijo z ukazom

START SLAVE;

 

 
 
12
 
 
 
 
Komentiraj
 
 
 
 
 
22.10.2014, 17:31
Super lekcija !
 
 
 
 
20.7.2015, 15:31
Kje pa najdeš datoteko my.ini?
 
Prijava in registracija
 
 
 
Zmaga.com ponuja brezplačno in razumljivo učenje računalniških programov, vas na enkraten način spozna z različnimi svetovnimi jeziki, s podrobno obrazloženimi recepti prikaže čare kulinarike in vam prežene strahove pred domačimi opravili.
 
 
Poleg tega lahko prebirate poučne članke, ki so namenjene širjenju naše splošne razgledanosti ter preverite svoje znanje z priljubljenim in enostavnim sistemom za preverjanje znanja. Če med vsebinami, ki se dodajajo vsak dan, ne najdete želenega znanja, je za vaša vprašanja na voljo dobro obiskan forum, kjer lahko tudi aktivno sodelujete. V primeru, da bi radi svoje praktično znanje delili z ostalimi, pa to lahko storite preko preprostega vmesnika za dodajanje vsebin. Zmagajte z znanjem z Zmaga.com!