Google
 
Strona główna Darmowe programy, shareware Programowanie MS Excel Porady komputerowe Bazy danych Kontakt

Replikacja w środowisku MySQL


1.Replikacja w środowisku MySQL

Replikacja w środowisku MySQL działa w oparciu o schemat master-slave. Srever master udostępnia dane zapisując je do pliku logowania binarnego. Server slave pobiera dane i zapisuje je w replice. W pliku logowania binarnego zapisane są jawnie polecenia SQL, które zostały wykonane na serwerze master. Do replikacji wykorzystałem serwer MySQL w wersji 5.1. Pierwszą czynnością będzie instalacja dwóch kopii tych serwerów na dwóch stanowiskach komputerowych w sieci lokalnej.



2.Konfiguracja serwera master

Na serwerze master należy włączyć logowanie binarne. Aby tego dokonać należy dodać w pliku my.ini w sekcji [mysqld] następującą linię:

log-bin=mysql-bin

W tej samej sekcji dodajemy linię, która ustawia unikalny identyfikator serwera:

server-id=1

i restartujemy serwer. Następnie na serwerze master wykonujemy polecenie, które pokazuje aktualną nazwę pliku logowania binarnego i bieżącą pozycję w tym pliku:

show master status;

Zapisujemy parametry File i Position. Będą one potrzebne do konfiguracji serwera slave. Dodatkowo na serwerze master należy utworzyć użytkownika z uprawnieniami do pracy w charakterze serwera slave. Za pomocą tego użytkownika serwer slave będzie łączyć się z serwerem master.

GRANT REPLICATION SLAVE ON *.* to 'user_repl'@'%'IDENTIFIED BY 'repl_pwd' ;

3.Konfiguracja serwera slave

W sekcji [mysqld] dodajemy linię, która ustawia unikalny identyfikator dla serwera slave:

server-id=2

Następnie należy wykonać polecenie:

CHANGE MASTER TO MASTER_HOST='ip_mastera', MASTER_USER='user_repl', MASTER_PASSWORD='repl_pwd', MASTER_LOG_FILE='file', MASTER_LOG_POS=position;

ip_mastera - to adres IP serwera master
user_repl - nazwa użytkownika utworzonego w punkcie 2
repl_pwd - hasło użytkownika utworzonego w punkcie 2
file - parametr File odczytany w punkcie 2
position - parametr Position odczytany wpunkcie 2

Aby rozpocząć replikację wykonujemy polecenie:

START SLAVE;

4.Dodatkowe opcje replikacji

Jeśli nie określimy inaczej replikowane będą wszystkie bazy danych. Aby wymusić replikację tylko wybranej bazy danych należy na serwerze slave umieścić w pliku my.ini w sekcji [mysqld] następującą opcję:

-replicate-do-db=nazwa_bazy

Aby replikować wszystkie bazy z wyjątkiem jednej należy użyć opcji:

-replicate-ignore-db=nazwa_bazy

Aby replikować tylko wybraną tabelę można użyć następującej opcji na serwerze slave:

-replicate-do-table=nazwa_bazy.nazwa_tabeli

Aby replikować wszystkie tabele z wyjątkiem wybranej należy użyć następującej opcji na serwerze slave:

-replicate-ignore-table=nazwa_bazy.nazwa_tabeli


 

Copyright © 2006-2010 programowaniePC.pl