Zasadniczo mamy dużą bazę danych MySQL i chcemy wykonać replikację do slave (konfiguracja master slave). Czy macie jakiś przewodnik krok po kroku, jak to zrobić przy MINIMALNYM przestoju w bazie danych? Tworzenie kopii zapasowej bazy danych i przesyłanie kopii zapasowej do serwera podrzędnego (nawet przez sieć prywatną) zajmuje około 40 minut. Dość długi przestój.
źródło
aby rozpocząć replikację, potrzebujesz spójnej kopii bazy danych na urządzeniu slave
czy twoje tabele są wspierane przez myisam lub innodb? znaleźć problem
i spójrz na kolumnę „Silnik”
jeśli wszystkie tabele są innodb, można wykonać zerową konfigurację przestoju za pomocą mysqldump - pojedynczej transakcji i zaimportowania go do urządzenia podrzędnego
jeśli tabele są myisam, będzie musiał być czas przestoju, ponieważ musisz zablokować tabele do pisania podczas ich kopiowania. mysqlhotcopy to narzędzie, które ci w tym pomoże.
alternatywnie, jeśli używasz LVM (menedżer woluminów logicznych), możesz zatrzymać bazę danych, zrobić migawkę LVM w ciągu kilku sekund i ponownie uruchomić db. Następnie możesz wykonać spójną kopię z migawki.
źródło
Aby skonfigurować urządzenie podrzędne, musisz wykonać migawkę danych i zapisać pozycję dziennika binarnego. Tworzenie kopii zapasowej bazy danych nie powinno powodować przestojów, chociaż spowoduje obniżenie wydajności, ale i tak już tworzysz kopię zapasową bazy danych, prawda? Może się okazać, że kopia zapasowa musi zablokować niektóre tabele, co może powodować zawieszanie się aplikacji, naprawdę konieczne jest sprawdzenie, w jaki sposób zostało to zaimplementowane.
Czy potrafisz wykonać migawkę dysku? To znacznie skróciłoby przestoje, jeśli możesz wykonać hotbackup.
źródło