Archiwizacja bazy danych na innym serwerze

0

Mam taki problem do rozwiazania :) Jest sobie baza danych mysql na jednym serwerze (niech bedzie A) tam sa dodawane jakies wartosci caly czas pracuje itp. Jest tez drugi serwer (B) na ktorym tez jest mysql itp. Chcialbym zrobic to tak zeby powiedzmy o 3 w nocy serwer A wyslal wszystkie zmiany do serwera B aby obydwie bazy byly takie same. Oczywistym jest ze nie ma sensu wysylac calej bazy tylko zmiany. Pomyslalem zeby dodac w tabeli wartosc jakas aby byla 1 jak bylo wyslane i 0 jak nie byly i by byly wysylane tylko te dane ktore maja 0. To tylko taki moj pomysl ale moze da sie cos lepiej zrobic :) Chcialbym to zrobic w php najlepiej. Na obydwu serwerach mam dostep do roota dowolna konfiguracja jest mozliwa safemode mnie nie dotyczy czyli mam wszystko :)

W ogole najlepiej by bylo aby mozna bylo oddzielnie dodawac wpisy do bazy na serwerze A i B i zeby jakos te bazy sie potem synchronizowaly ale nie wiem czy z tym nie bedzie jeszcze wiekszego problemu :/

Archiwizacja w plikach tekstowych na dysku tudziez na innym dysku mnie nie interesuje ma byc na innym serwerze :)

Ogolnie czekam na przemyslenia innych :)

0

Zakładając, że możesz wszystko, nie powinno być to problemem. Już doszedłeś do tego, jak sprawdzać, czy dany wpis w bazie był przesłany, czy nie. Pozostaje więc zrobić prosty skrypcik PHP, który te dane wyciągnie z bazy i wyśle zapytanie do drugiego serwera, na którym będzie skrypt, który odpowiednio przesłane dane zapisze do bazy. Do tego dochodzi to, czego w samym PHP się nie da zrobić - uruchomićna serwerze A lub B programik, który będzie o określonej godzinie wysyłał zapytanie do serwera A o wykonanie tego skryptu.

0

No dobrze niby jest wszystko ok ale moze daloby sie to jakos zmyslniej zrobic? A co gdy przekroczy sie czas wykonywania skryptu podczas przesylania? No moge dac wiecej niz jest defaultowo 30s ale co gdy to wiecej okaze sie tez za malo? Takie niby [CIACH!] ale moga okazac sie dosc wazne :) Pomyslalem tez zeby jednoczesnie zapisywac i zmieniac wszystko w dwoch roznych bazach ale nie wiem jak to bedzie szybko dzialac moze ktos wie? :>

0

Znaczy możesz zrobić jeszcze dwie rzeczy:

  1. Udostępnić bazę na serwerze A dla serwera B i na serwerze B wykonywać o zadanej godzinie program, który będzie się łączył z bazą bez pośrednictwa skryptów PHP (ew. odwrotnie, udostępnić bazę serwera B i na serwerze A uruchomić analogiczny program)
  2. Na serwerze A stworzyć program, który będzie się łączył z bazą i porcjami wysyłał zapytania do skryptu na serwerze B, który te porcje danych będzie dodawał.

1 użytkowników online, w tym zalogowanych: 0, gości: 1