Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Najlepsze praktyki tworzenia kopii zapasowych dla MySQL, MariaDB i Galera Cluster

Serdeczne podziękowania dla wszystkich, którzy zarejestrowali się i/lub uczestniczyli we wtorkowym webinarium na temat strategii tworzenia kopii zapasowych i najlepszych praktyk dla klastrów MySQL, MariaDB i Galera prowadzonego przez Krzysztofa Książka, starszego inżyniera wsparcia w firmie Manynines. Jeśli przegapiłeś sesję, chciałbyś obejrzeć ją ponownie lub przeglądać slajdy, są one teraz dostępne do przeglądania. Sprawdź również transkrypcję sesji pytań i odpowiedzi poniżej.

Obejrzyj powtórkę webinaru

Niezależnie od tego, czy jesteś administratorem SysAdmin, DBA czy DevOps obsługującym klastry MySQL, MariaDB lub Galera w środowisku produkcyjnym, powinieneś upewnić się, że Twoje kopie zapasowe są zaplanowane, wykonywane i regularnie testowane. Krzysztof podzielił się wczoraj kilkoma ze swoich kluczowych wskazówek i trików dotyczących najlepszych praktyk, jak to zrobić; w tym demo na żywo z ClusterControl. Krótko mówiąc, ta powtórka z webinaru pokazuje zalety i wady różnych opcji tworzenia kopii zapasowych i pomaga wybrać tę, która najlepiej pasuje do Twojego środowiska.

Miłego tworzenia kopii zapasowych!

Pytania i odpowiedzi

P. Czy możemy kontrolować I/O podczas robienia kopii zapasowych za pomocą mysqldump i mysqldumper (używałem go wcześniej, ale to nie było pomocne).

A. Teoretycznie może to być możliwe, chociaż tak naprawdę tego nie testowaliśmy. Jeśli naprawdę chcesz zastosować ograniczanie, możesz zajrzeć do cgroups - powinno to pomóc w ograniczaniu aktywności we/wy na podstawie procesu.

P. Czy możemy zabrać mydumper z ClusterControl i czy ClusterControl jest darmowym oprogramowaniem?

O. Obecnie nie obsługujemy tej funkcji, ale zawsze możesz jej użyć ręcznie; ClusterControl nie uniemożliwia korzystania z tego narzędzia. Istnieje bezpłatna wersja społecznościowa ClusterControl, tak, chociaż jego funkcje tworzenia kopii zapasowych są częścią wersji komercyjnej. Dzięki bezpłatnej wersji społecznościowej możesz wdrażać i monitorować swoją bazę danych (klastry), a także tworzyć własnych niestandardowych doradców baz danych. Masz również miesięczny okres próbny, który daje dostęp do wszystkich funkcji ClusterControl. Wszystkie szczegóły dotyczące funkcji można znaleźć tutaj:https://severalnines.com/pricing

P. Czy xtrabackup może działać z szyfrowaniem danych w spoczynku?

A. Może pracować z zaszyfrowanymi danymi w MySQL lub Percona Server - to dlatego, że szyfrują tylko obszary tabel, które xtrabackup po prostu kopiuje - nie musi mieć dostępu do zawartości obszarów tabel. MariaDB szyfruje nie tylko przestrzenie tabel, ale także, na przykład, logi przeróbek InnoDB, do których dostęp musi uzyskać xtrabackup — dlatego xtrabackup nie może działać z szyfrowaniem danych w spoczynku, jak to zostało zaimplementowane w MariaDB. Z tego powodu firma MariaDB Corporation rozwidlała xtrabackup do kopii zapasowej MariaDB. To narzędzie obsługuje szyfrowanie wykonywane przez MariaDB.

P. Czy możesz użyć mydumper do odzyskiwania do określonego momentu?

A. Tak, jest to możliwe. mydumper może przechowywać dane GTID, dzięki czemu możesz zidentyfikować ostatnią zastosowaną transakcję i użyć ich jako pozycji wyjściowej do przetwarzania dzienników binarnych.

P. Czy jest to problem, jeśli używamy dzienników binarnych z xtrabackup z datą początkową i godziną początkową zamiast pozycją początkową i pozycją końcową? W piątki wykonujemy pełną kopię zapasową, a co drugi dzień przyrostową. Kiedy musimy odzyskać dane, pobieramy ostatnie pełne i wszystkie przyrostowe kopie zapasowe oraz logi binarne z tego dnia, zaczynając od 00:00 do TERAZ… czy może być problem z apply-log?

O. Ogólnie rzecz biorąc, nie należy używać --start-datetime lub --end-datetime, gdy chcesz odpowiedzieć na dziennik binarny w bazie danych. Nie jest wystarczająco szczegółowy - ma rozdzielczość jednej sekundy i może być wiele transakcji, które miały miejsce w ciągu tej sekundy. Możesz go użyć, aby zminimalizować ramy czasowe do ręcznego wyszukiwania, ale to wszystko. Jeśli chcesz odtworzyć logi binarne, powinieneś użyć opcji --start-position i --end-position. Tylko to dokładnie określi, z którego wydarzenia będziesz odtwarzać binlogi i na którym wydarzeniu się skończy.

P. Czy powinienem uruchomić oprogramowanie zrzutu na module równoważenia obciążenia czy jednym z węzłów MySQL?

A. Zazwyczaj będziesz go używać na węzłach MySQL. Niektóre narzędzia mogą tylko to zrobić. Na przykład Xtrabackup - musisz go uruchomić lokalnie, na hoście bazy danych. Możesz przesyłać strumieniowo dane wyjściowe do innej lokalizacji, ale musi być uruchamiane lokalnie.

P. Czy możemy wykonać częściowe kopie zapasowe za pomocą ClusterControl? A jeśli tak, w jaki sposób możemy przywrócić kopię zapasową działającej instancji?

O. Tak, możesz wykonać częściową kopię zapasową za pomocą ClusterControl (możesz wykonać kopię zapasową oddzielnego schematu za pomocą xtrabackup), ale od tej pory nie możesz przywrócić częściowej kopii zapasowej na działającej instancji. Jest to spowodowane faktem, że odzyskany schemat nie będzie spójny z resztą klastra. Aby był spójny, klaster musi zostać załadowany z węzła, na którym przywracasz kopię zapasową. Tak więc technicznie węzeł działa cały czas, ale jest to dość ciężka i inwazyjna operacja. Zmieni się to w następnej wersji ClusterControl, w której będziesz mógł przywracać kopie zapasowe na oddzielnym hoście. Z tego hosta można następnie zrzucić zawartość przywróconego schematu za pomocą mysqldump (lub mydumper) i przywrócić go w klastrze produkcyjnym.

P. Czy możesz udostępnić polecenie mysqldumper?

Odpowiedź:Ciężko jest odpowiedzieć na to pytanie bez kopiowania i wklejania z dokumentacji, więc uważamy, że najlepiej będzie, jeśli skierujemy Cię do dokumentacji:https://github.com/maxbube/mydumper/tree/ główne/dokumenty

Obejrzyj powtórkę webinaru

Powiązany dokument Przewodnik DevOps dotyczący tworzenia kopii zapasowych baz danych dla MySQL i MariaDBW tym dokumencie omówiono dwa najpopularniejsze narzędzia do tworzenia kopii zapasowych dostępne dla MySQL i MariaDB, a mianowicie mysqldump i Percona XtraBackup.Pobierz
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wdrażanie serwera Percona w chmurze hybrydowej

  2. W przypadku aktualizacji zduplikowanego klucza tak samo jak w przypadku wstawiania

  3. odpowiednik generate_series() w MySQL

  4. MySQL przyznaje użytkownikowi uprawnienia do bazy danych

  5. MySQL w chmurze — zalety i wady Amazon RDS