Skocz do zawartości
kamilek

Replikacja MYSQL

Polecane posty

Mam do ogarnięcia większy projekt - w sensie dużo i to bardzo dużo zapytań do mysql - i wpadłem na pomysł aby serwery mysql (2 sztuki w późniejszym czasie jeszcze 2) odpalić na osobnych maszynach z replikacją master-master i balansować połączenia do tych baz z serwera aplikacji. I tu pytanie - czy takie rozwiązanie będzie "klonowało" samo nowo utworzone bazy danych czy trzeba te bazy dodać w konfiguracji tej replikacji mysqla? Kiedyś replikację konfigurowałem ale za nic nie pamiętam jak to było z tymi bazami :lol:

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

tylko nie zapomnij o takich rzeczach jak memcached - czasem wydaje się, że treść jest zbyt dynamiczna, a jednak można ciekawie wdrożyć cache'owanie aby nie było potrzeby kupowania kolejnego serwera pod bazę :lol:

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
I tu pytanie - czy takie rozwiązanie będzie "klonowało" samo nowo utworzone bazy danych czy trzeba te bazy dodać w konfiguracji tej replikacji mysqla?

Będzie trzeba dodać.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czyli raczej replikacja odpada - bo ręcznie baz nikt nie będzie konfigurował.

 

Czyli pozostaje http://howtoforge.com/setting-up-a-loadbal...r-with-mysql5.1 - czy może znacie jakiś inny sposób aby mieć dwa lub więcej serwery mysql z tą samą zawartością - jak przy replikacji - ale żeby nowe bazy po utworzeniu były na obu maszynach.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Będzie trzeba dodać.

 

zainstalowałem sobie na virtualkach dwa serwery mysql i je zreplikowałem - udało mi się ustawić tak ze po utworzeniu bazy na jednej z maszyn tworzona jest obrazu na drugiej - czyli to o co pytałem - coś ala raid1 dla mysql :mellow:

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A jaki jest czas tej replikacji?

Druga sprawa - czy na jej czas obie bazy przechodzą w tryb LOCK-READ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dwie uwagi ode mnie:

 

1. MySQL nie obsługuje replikacji master-master tylko master-slave. (Czy o czymś nie wiem?)

2. Ktoś wyżej podał linka do how-to jak postawić klaster MySQLowy. Generalnie radziłbym w to nie wchodzić. W MySQL 5.1 już dużo się poprawiło ale generalnie dalej jest to straszne g****. Jak kiedyś wreszcie zrobią obsługę kluczy obcych to może będzie można to do czegoś poważnego użyć.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

AD1. http://howtoforge.com/setting-up-master-ma...-on-debian-etch - mam zrobione podobnie z tym że replikuje całego MySQLa a nie pojedyncze bazy.

 

AD2. to ja inaczej zrobić tak aby rozłożyć obciążenie na więcej maszyn - jak zrobić LB wiem bo nieraz robiłem i o to nie pytam, ale aby oba serwery miały tą samą zawartość baz.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
1. MySQL nie obsługuje replikacji master-master tylko master-slave. (Czy o czymś nie wiem?)

Mając dwa serwery bazodanowe, oba mogą być masterem i slavem jednocześnie,

a wtedy masz pożądany setup master-master.

Chociaż być może i są jeszcze inne możliwości o których ja osobiście nie wiem.

W MySQL 5.1 już dużo się poprawiło ale generalnie dalej jest to straszne g****. Jak kiedyś wreszcie zrobią obsługę kluczy obcych to może będzie można to do czegoś poważnego użyć.

Nie demonizujmy. W większości projektów można się obyć bez kluczy obcych,

a poza tym te klucze obce znacznie obniżają wydajność bazy.

Na tyle, że opłaca się odpisać w kodzie kilka linijek więcej i zapomnieć o ich istnieniu w ogóle.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Nie demonizujmy. W większości projektów można się obyć bez kluczy obcych,

a poza tym te klucze obce znacznie obniżają wydajność bazy.

Na tyle, że opłaca się odpisać w kodzie kilka linijek więcej i zapomnieć o ich istnieniu w ogóle.

 

Sory - dla mnie system bazodanowy nie mający mechanizmów kontroli spójności danych po prostu nie istnieje.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dwie uwagi ode mnie:

 

[...]

2. Ktoś wyżej podał linka do how-to jak postawić klaster MySQLowy. Generalnie radziłbym w to nie wchodzić. W MySQL 5.1 już dużo się poprawiło ale generalnie dalej jest to straszne g****. Jak kiedyś wreszcie zrobią obsługę kluczy obcych to może będzie można to do czegoś poważnego użyć.

 

 

w przypadku Mysql klucz obcy ma zastosowanie jedynie w tabelach InnoDB i tylko ten 'typ mechanizmów bazodanowych' obsluguje FOREIGN KEY, w przypadku np. MyISAM klucze obce sa ignorowane

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
w przypadku Mysql klucz obcy ma zastosowanie jedynie w tabelach InnoDB i tylko ten 'typ mechanizmów bazodanowych' obsluguje FOREIGN KEY, w przypadku np. MyISAM klucze obce sa ignorowane

 

No tak, a klaster MySQL używa storage typu NBD, który podobnie jak MyISAM takiego mechanizmu nie ma. W związku z tym dla mnie jest to g**** :-)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czy przy naprzemiennym odpytywaniu serwerów które się replikują dojdzie do "rozjechania" integralności baz w przypadku awarii jednego z nich? Bo jak zauważyłem po podniesieniu się odtwarza dane które nie zostały zreplikowane.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×