2008-12-10 12 views
6

W MySQL, używając replikacji opartej na instrukcjach, zakładam, że każda instrukcja SQL jest wykonywana na slave dokładnie w taki sam sposób, jak na master. Jednak gdy uruchomię oświadczenie:Jak działa "LOAD DATA INFILE" w replikacji opartej na oświadczeniach?

LOAD DATA INFILE 'filename' INTO SomeTable; 

Nie jestem pewien, czy plik musi istnieć na niewolnika w ten sam sposób co ona robi na panu. Czy ktoś może wskazać mi dokumentację tej funkcji?

Odpowiedz

5

Wygląda na to, że plik wczytany z LOAD DATA INFILE na urządzeniu głównym jest automatycznie przesyłany za pośrednictwem dziennika replikacji z urządzenia nadrzędnego do urządzenia podrzędnego. Urządzenie slave ładuje te pliki, gdy trafi do LOAD DATA INFILE w kolejce replikacji opartej na oświadczeniach.

mam wywodząc to z kilku wypowiedzi w docs:

16.1: Backing Up Replication Slaves

Jeśli serwer MySQL jest niewolnikiem serwer replikacji, to niezależnie od Wybrana metoda tworzenia kopii zapasowych wybierz, ty należy również wykonać kopię zapasową plików master.info i relay-log.info po ponownym dodaniu danych użytkownika niewolnika pod . Pliki te są zawsze potrzebne do wznowienia replikacji po przywróceniu danych slave. Jeśli Twoja maszyna podrzędna będzie podlegać replikacji komend LOAD DATA INFILE, powinieneś również wykonać kopię zapasową wszystkich plików SQL_LOAD- *, które mogą istnieć w katalogu podanym jako przez opcję --slave-load-tmpdir.

16.1.2.3: Replication Slave Options and Variables

Kiedy podrzędny wątek SQL replikuje oświadczenie LOAD DATA INFILE, to pobiera plik, aby być ładowane z dziennik przekaźnika do plików tymczasowych, a następnie ładuje je do stołu. Jeśli plik załadowany na wzorcu jest duży, pliki tymczasowe na urządzeniu slave są również ogromne. Dlatego zaleca się, aby użyć tej opcji do przekazania urządzenia podrzędnego, aby umieścić pliki tymczasowe w katalogu znajdującym się w jakimś systemie plików , który ma dużo dostępnego miejsca. W tym przypadku logi przekaźników są ogromne jako , więc możesz również użyć opcji opcji -relay-log, aby umieścić dzienniki przekaźników w tym systemie plików.

Powiązane problemy