MYSQL - Replikacja wielu baz
januszkroczak@interia.pl - 14-12-2006 16:08
MYSQL - Replikacja wielu baz
Witam Potrzebuj? wykona? replikacj? z jednego komputera (serwera g?ównego) na którym jest kilka baz na inne komputery, ale ka?da baza ma by? replikowana na inny komputer. Czy co? takigo jest mo?liwe do wykonania na bazie MySQL? Dotychczas replikowanie kilku baz sprowadzi?o si? do replikowania wszystkich baz na wszystkie komputery, niestety co? takiego jest niedo przyj?cia ( zbyt du?y ruch w sieci, i brak bezpiecze?stwa danych). Prosz? o pomoc w rozwi?zaniu tego problemu, gdy? nie u?miecha mi si? stawiania dla ka?dej bazy osobnego serwera g?ównego. Pozdrawiam.
Jakub Wartak - 14-12-2006 16:08
januszkroczak@interia.pl wrote:
> Witam > Potrzebuj? wykona? replikacj? z jednego komputera (serwera > g?ównego) na którym jest kilka baz na inne komputery, ale ka?da > baza ma by? replikowana na inny komputer. > Czy co? takigo jest mo?liwe do wykonania na bazie MySQL? > Dotychczas replikowanie kilku baz sprowadzi?o si? do replikowania > wszystkich baz na wszystkie komputery, niestety co? takiego jest niedo > przyj?cia ( zbyt du?y ruch w sieci, i brak bezpiecze?stwa danych). > Prosz? o pomoc w rozwi?zaniu tego problemu, gdy? nie u?miecha mi > si? stawiania dla ka?dej bazy osobnego serwera g?ównego. > Pozdrawiam.
replicate-do-db ??
-- Jakub Wartak http://vnull.pcnet.com.pl/
januszkroczak@interia.pl - 14-12-2006 16:08
Jakub Wartak napisa?(a): > > replicate-do-db ?? Ok Tak dzia?a mi replikacja ale tylko jesdnj bazy. Moja baza wygl?da tak: Serwer +user1 tabela1 tabela2 ... +user2 tabela1 tabela2 ... +user3 tabela1 tabela2 ... zale?y mi aby replikacja dla ka?dego usera odbywa?a si? na inny komputer (user1 na komp1, user2 na komp2 itd.) Je?eli na serwerze wpiszemy: binlog-do-db=user1 binlog-do-db=user2 ....
a na komputerach kopm1, komp2, ..: replicate-do-db=user1 replicate-do-db=user2 .....
to na serwerze i tak wszyskie komendy wykonane na bazie wpisywane s? do jesnego pliku (serwer-bin.00x) i replikowane na wszystkie komputery (komp1, komp2,...) tak samo, czyki wszyskie komendy lec? do wszystkich komputerów. Prosz? o pomoc ( mo?e co? ?le robi?). Pozdrawiam
Jakub Wartak - 14-12-2006 16:08
januszkroczak@interia.pl wrote:
> > Jakub Wartak napisa?(a): >> >> replicate-do-db ?? > Ok > Tak dzia?a mi replikacja ale tylko jesdnj bazy. > Moja baza wygl?da tak: > Serwer > +user1 > tabela1 > tabela2 > ... > +user2 > tabela1 > tabela2 > ... > +user3 > tabela1 > tabela2 > ... > zale?y mi aby replikacja dla ka?dego usera odbywa?a si? na inny > komputer (user1 na komp1, user2 na komp2 itd.) > Je?eli na serwerze wpiszemy: > binlog-do-db=user1 > binlog-do-db=user2 > ...
Tak na serwerze musza byc wszystkie bazy wymienione.
> > a na komputerach kopm1, komp2, ..: > replicate-do-db=user1 > replicate-do-db=user2 > ....
Na kazdym z komputerow (komp1..N) robisz tylko jedno replicate-do-db=userID_TEGO_KOMPA
> > to na serwerze i tak wszyskie komendy wykonane na bazie wpisywane s? > do jesnego pliku (serwer-bin.00x) i replikowane na wszystkie komputery > (komp1, komp2,...) tak samo, czyki wszyskie komendy lec? do wszystkich > komputerów. > Prosz? o pomoc ( mo?e co? ?le robi?).
Cos zle robisz ;)
-- Jakub Wartak http://vnull.pcnet.com.pl/
januszkroczak@interia.pl - 14-12-2006 16:08
Serewr tworzy jeden wspólny plik serwer-bin.00x dla wszystkich replikowanych baz zawieraj?cy wszystkie komendy na replikowanych bazach.
Dane z tego pliku s? wysy?ane na wszystkie komputery a dopiero komputery klientów wybieraj? sobie w?a?ciwe dla nich dane.
Dane w bazie s? poufne i nie mog? by? dost?pne dla wszystkich.
Idealnie by by?o gdyby serwer dla ka?dej bazy tworzy? osobny plik (userx-bin.00x) a u?ytkownik pobiera? tylko dane przygotowane dla niego, b?dz potrafi? wyodr?bni? w?a?ciwe dane z pliku serwer-bin.00x.
> > > > a na komputerach kopm1, komp2, ..: > > replicate-do-db=user1 > > replicate-do-db=user2 > > ....
Jakub Wartak napisa?(a): > > Na kazdym z komputerow (komp1..N) robisz tylko jedno > replicate-do-db=userID_TEGO_KOMPA
tak te? mam, ale ka?dy klient zaci?ga ca?y plik serwer-bin.00x (z komendami dla wszystkich userów)
> Cos zle robisz ;)
Ogólnie replikacja dzia?a na wszystkich komputerach, lecz jest generowny zbyt du?y ruch w sieci serwera, oraz dane z pliku serwer-bin.00x s? dost?pne dla ka?dego klienta w pliku klient-realy-bin.00x a tego wola?bym unikn??.
Próbowa?em te? u?y? replicate-ignore-db=userx # po stronie serwera Slave ale nie przynios?o to ?adnej zmiany.
Jakub Wartak - 14-12-2006 16:08
januszkroczak@interia.pl wrote:
> > Serewr tworzy jeden wspólny plik serwer-bin.00x dla wszystkich > replikowanych baz zawieraj?cy wszystkie komendy na replikowanych > bazach. > > Dane z tego pliku s? wysy?ane na wszystkie komputery a dopiero > komputery klientów wybieraj? sobie w?a?ciwe dla nich dane. > > Dane w bazie s? poufne i nie mog? by? dost?pne dla wszystkich. > > Idealnie by by?o gdyby serwer dla ka?dej bazy tworzy? osobny plik > (userx-bin.00x) a u?ytkownik pobiera? tylko dane przygotowane dla > niego, b?dz potrafi? wyodr?bni? w?a?ciwe dane z pliku > serwer-bin.00x. >
No to trzeba bylo tak od razu :) Nie osiagniesz tak jak juz pisales bez innych instancji ( komp1..N instancji w tym przypadku ). Bin-log jest jeden i raczej sie nie zanosi zeby to mieli zmienic...
Mozesz jeszcze dac SSLke i/lub kompresje ale i tak dane beda w pewien sposob niezabezpieczone.
> >> > >> > a na komputerach kopm1, komp2, ..: >> > replicate-do-db=user1 >> > replicate-do-db=user2 >> > .... > > Jakub Wartak napisa?(a): >> >> Na kazdym z komputerow (komp1..N) robisz tylko jedno >> replicate-do-db=userID_TEGO_KOMPA > > tak te? mam, ale ka?dy klient zaci?ga ca?y plik serwer-bin.00x (z > komendami dla wszystkich userów) > >> Cos zle robisz ;) > > Ogólnie replikacja dzia?a na wszystkich komputerach, lecz jest > generowny zbyt du?y ruch w sieci serwera, oraz dane z pliku > serwer-bin.00x s? dost?pne dla ka?dego klienta w pliku > klient-realy-bin.00x a tego wola?bym unikn??. > > Próbowa?em te? u?y? > replicate-ignore-db=userx # po stronie serwera Slave > ale nie przynios?o to ?adnej zmiany.
-- Jakub Wartak http://vnull.pcnet.com.pl/
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.plfelgiuzywane.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|