MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak wykonać kopię zapasową bazy danych Moodle MariaDB?

Wcześniej pisaliśmy na blogu o tworzeniu kopii zapasowych bazy danych Moodle MySQL. Tym razem chodzi o tworzenie kopii zapasowej bazy danych Moodle MariaDB. W rzeczywistości ma to samo podejście podczas tworzenia kopii zapasowej bazy danych Moodle MySQL, co w przypadku bazy danych Moodle MariaDB. Jednak od wersji MariaDB 10.2 powoli odbiega i nadal ma drastyczne różnice w stosunku do wersji MySQL. W związku z tym zwróć uwagę na podejścia, które być może będziesz musiał rozważyć podczas tworzenia kopii zapasowej MariaDB, w przeciwieństwie do MySQL, jeśli z niego pochodzisz.

Najlepsze praktyki tworzenia kopii zapasowej Moodle MariaDB

Rozważmy najpierw ten temat. Tworzenie kopii zapasowej danych Moodle musi być zgodne z najlepszymi praktykami dotyczącymi kopii zapasowej MariaDB, ponieważ zapewnia to bezpieczeństwo i pewność, zwłaszcza w przypadku wystąpienia katastrofy lub katastrofy w nieprzewidywalnych sytuacjach.

Więc o co chodzi? Wykonanie kopii zapasowej dla Moodle musi wystarczyć co najmniej z następującymi kopiami zapasowymi:

  • logiczna kopia zapasowa
  • Fizyczna kopia kopii zapasowej
  • Odzyskiwanie do określonego punktu w czasie (przyrostowe)

logiczna kopia zapasowa

Logiczna kopia zapasowa danych jest przechowywana w formacie czytelnym dla człowieka, takim jak SQL. Logiczne kopie zapasowe zapisują informacje reprezentowane jako logiczna struktura bazy danych (instrukcje CREATE DATABASE, CREATE TABLE) i zawartość (instrukcje INSERT lub pliki tekstowe z separatorami). Ten typ kopii zapasowej jest odpowiedni dla mniejszych ilości danych, w których można edytować wartości danych lub strukturę tabeli albo odtworzyć dane na innej architekturze komputera. Jeśli masz tendencję do korzystania z ogromnej kopii zapasowej bazy danych, upewnij się, że masz włączoną kompresję. Uwaga, ponieważ może to zająć szczególnie dużo miejsca na dysku.

W MariaDB popularnym narzędziem do użycia jest mysqldump, ale w przyszłości zmieni się to, gdy mariadb-dump uruchomi MariaDB w wersji 10.4.6 lub 10.5.2. Alternatywnie, powszechnym narzędziem używanym w przypadku baz danych MySQL/MariaDB jest mydumper, jeśli potrzebujesz równoległej kopii zapasowej dla swojej logicznej kopii zapasowej. Chociaż w niektórych wersjach występują pewne problemy lub mogą wystąpić problemy, szczególnie w przypadku najnowszych wersji MariaDB. Jeśli chcesz tego użyć, zwróć uwagę na dzienniki kopii zapasowej podczas tworzenia kopii.

Fizyczna kopia zapasowa

Fizyczna kopia zapasowa zawiera dane binarne bazy danych, które składają się z nieprzetworzonych kopii katalogów i plików przechowujących zawartość bazy danych. Jest to właściwe działanie, szczególnie w przypadku dużej bazy danych, a odzyskanie pełnej kopii bazy danych jest szybsze w porównaniu z logiczną kopią zapasową. Z drugiej strony wykonanie pełnej fizycznej kopii zapasowej wymaga czasu, zwłaszcza jeśli masz bardzo duży zestaw danych. Zależy to również od włączonych lub ustawionych parametrów, które mogą wpłynąć na jego ETA kopii zapasowej.

Powszechnym narzędziem używanym w MariaDB jest użycie mariabackup. Mariabackup to narzędzie typu open source dostarczane przez MariaDB. Jest to rozwidlenie Percona XtraBackup zaprojektowane do pracy z zaszyfrowanymi i skompresowanymi tabelami i jest zalecaną metodą tworzenia kopii zapasowych dla baz danych MariaDB.

Przywracanie punktu w czasie (PITR)

Odzyskiwanie do określonego momentu odnosi się do odzyskiwania zmian danych do określonego punktu w czasie. Ten dany punkt w czasie jest pożądanym celem odzyskiwania, który został określony i wymaga ponownego wprowadzenia na miejsce, który jest stosowany podczas odzyskiwania. PITR to odzyskiwanie typu „point-forward”, co oznacza, że ​​możesz przywrócić dane od żądanego czasu rozpoczęcia do żądanego czasu zakończenia. PITR jest również uważany za dodatkową metodę ochrony danych, ponieważ zabezpiecza przed utratą ważnych informacji.

W typowych sytuacjach kopia zapasowa PITR odpowiednia dla danego typu odzyskiwania jest wykonywana po przywróceniu pełnej kopii zapasowej, która przywraca serwer do stanu z czasu utworzenia kopii zapasowej. Odzyskiwanie do określonego momentu powoduje stopniowe aktualizowanie serwera od momentu utworzenia pełnej kopii zapasowej do nowszej daty. Przyspiesza również budowanie repliki w klastrze replikacji przed nadążaniem za podstawową lub aktywną bazą danych MariaDB.

Co to za kopie zapasowe? W MariaDB typowymi kopiami zapasowymi stosowanymi w przypadku PITR są dzienniki binarne. Logowanie binarne musi być poprawnie skonfigurowane w bazie danych MariaDB i włączone. Jeśli używasz ClusterControl, konfiguracja może nie sprawiać trudności, ponieważ jest ona automatycznie konfigurowana i włączana, zwłaszcza podczas konfigurowania klastra replikacji.

Podczas stosowania PITR najczęściej używanym narzędziem jest mysqlbinlog lub mariadb-binlog dla MariaDB 10.5.2 i nowszych.

Najlepsze podejście do tworzenia kopii zapasowych bazy danych Moodle MariaDB

Podczas korzystania z bazy danych Moodle MariaDB zawsze rób kopię zapasową poza godzinami szczytu lub gdy ruch jest zbyt mały. Zanim to zrobisz, upewnij się, że przetestowałeś kopię zapasową i że została pomyślnie zakończona. Po zakończeniu przetestuj przywracanie, czy kopia zapasowa jest przydatna, czy nie i czy spełnia Twoje potrzeby, gdy potrzebne jest odzyskanie danych lub gdy potrzebujesz kopii zapasowej w celu utworzenia innego zestawu klastrów (QA, dev lub rozszerzenie do innego centrum danych). Zasadniczo poniższe podsekcje powinny być podejściem i konfiguracją, z którą musisz sobie poradzić.

Skonfiguruj replikę i wykonaj kopię zapasową na replice

Jeśli nie znasz się na replikacji, zapoznaj się z naszym raportem MySQL Replication for High Availability. Zasadniczo nie oszczędzaj aktywnego zapisu lub węzła podstawowej bazy danych na wykonywanie lub uruchamianie kopii zapasowej. Tworzenie kopii zapasowej musi być przetestowane i nie może być wykonywane w środowisku produkcyjnym, jeśli nie zostało jeszcze przetestowane za pomocą zestawu poleceń i utworzonej przez niego polityki tworzenia kopii zapasowych. Gdy jest już dobry, po prostu zostaw go i wyceluj w replikę. Możesz wykonać kopię zapasową z podstawowej/głównej bazy danych MariaDB, jeśli nie masz wyboru lub przynajmniej jesteś pewien tego, co robisz.

Uruchamianie kopii zapasowej poza godzinami szczytu

Podczas tworzenia kopii zapasowej upewnij się, że są to godziny szczytu. Twoja replika musi mieć zerowe opóźnienie, tak aby najbardziej aktualne dane były zaciemnione.

Utwórz zasady tworzenia kopii zapasowych

Zasady tworzenia kopii zapasowych składają się z parametrów i harmonogramu uruchamiania kopii zapasowej. W przypadku parametrów upewnij się, że odpowiadają one Twoim potrzebom, tj. bezpieczeństwo, kompresja itp. Harmonogram musi być stały, aby kopia zapasowa powinna być dostępna, gdy jest potrzebna w czasie katastrofy i potrzebne jest odzyskanie danych. Będziesz także mógł określić docelowy czas odzyskiwania, aby określić, jak często i kiedy ma być uruchamiany harmonogram tworzenia kopii zapasowych.

Jak utworzyć kopię zapasową bazy danych Moodle MariaDB

Korzystanie z mariadb-dump/mysqldump

Poniższa komenda utworzy kopię zapasową bazy danych dla Moodle. W tym przykładzie nazwa bazy danych to moodle. Uwzględniliśmy wyzwalacze, przechowywane procedury lub procedury oraz zdarzenia. Wydrukuj identyfikator GTID i informacje główne, które są przydatne, gdy chcesz udostępnić replikę z głównego lub głównego węzła bazy danych.

$  /usr/bin/mariadb-dump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle

Możesz po prostu zastąpić mariadb-dump mysqldump, jeśli używasz MariaDB w wersji <10.5.2. Jeśli potrzebujesz skompresować, możesz uruchomić poniższe polecenie:

$  /usr/bin/mysqldump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle |gzip -6 -c > /backups/backup-n1/mysqldump_2021-01-25_182643_schemaanddata.sql.gz

Korzystanie z mariabackup

Mariabackup można łatwo wykonać. W tym celu użyjemy mbstream jako pożądanego formatu przesyłania strumieniowego i archiwizacji. Możesz użyć poniższego polecenia:

$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream > backup.xbstream

Jeśli chcesz go skompresować, możesz wykonać następujące polecenie:

$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream | gzip -6 - > backup.xbstream.gz

Korzystanie z ClusterControl

Jeśli przełączysz się na rozwiązanie zarządzane specjalnie do tworzenia kopii zapasowych Twojego Moodle, ClusterControl przyjmie je w prosty, ale oferuje zaawansowane funkcje tworzenia kopii zapasowych. Spójrz na zrzut ekranu poniżej:

Tworzenie kopii zapasowej jest bardzo proste i łatwe do utworzenia. Wszystko, co musisz zrobić, to przejść do → Kopia zapasowa → Utwórz kopię zapasową.

Na powyższym zrzucie ekranu mam mysqldump, mysqldump z kompatybilnym PITR i mariabackup. Możesz wybrać hosta do wykonania kopii zapasowej. Jak wspomniano wcześniej, upewnij się, że wykonujesz kopię zapasową na replice lub urządzeniu podrzędnym. Oznacza to, że upewnij się, że urządzenie podrzędne jest wybrane. Zobacz zrzut ekranu poniżej:

Podczas zaznaczania lub wybierania mysqldump, ClusterControl pozwala użytkownikowi wybrać typ dane do zrzucenia. Obejmuje to również zrzut zgodny z PITR do tworzenia kopii zapasowych. Zobacz zrzut ekranu poniżej:

Dla binarnej lub fizycznej kopii zapasowej, oprócz mysqldump jako logicznej kopii zapasowej, możesz wybrać mariabackup w wersji pełnej lub przyrostowej. Zobacz poniżej:

Lokalizacje przechowywania pozwalają użytkownikowi wybrać tylko pozostanie w węźle lub przesyłaj go do hosta ClusterControl. Jeśli masz zewnętrzny serwer, który nie jest zarejestrowany w ClusterControl, możesz użyć NFS do zamontowania woluminu, który chcesz zrzucić z kopii zapasowej. Chociaż może to nie być idealne, ale w niektórych przypadkach powinno to wystarczyć, zwłaszcza jeśli przepustowość sieci lub transfer sieci są wystarczająco szybkie, aby przesyłać dane lokalnie do drugiego węzła przez sieć.

Zasadniczo możesz wybrać kopie zapasowe do przesłania do chmury. Możesz zobaczyć zrzut ekranu wcześniej i po prostu zaznacz pole wyboru, aby włączyć go, tak jak poniżej:

Jak wspomniano wcześniej, ClusterControl wykonuje kopię zapasową w prosty w obsłudze, ale zapewnia zaawansowane funkcje, oto opcje, które możesz ustawić.

Dla mysqldump

Mariabackup

bardzo łatwy w użyciu. ClusterControl oferuje również weryfikację kopii zapasowej i przywracanie kopii zapasowej, dzięki czemu można łatwo określić, czy kopia zapasowa jest przydatna, czy nie. Dzięki temu kopia zapasowa bazy danych Moodle jest przydatna, zwłaszcza gdy odzyskiwanie danych musi być zastosowane w sytuacjach awaryjnych.

Wnioski

Utworzenie kopii zapasowej bazy danych Moodle MariaDB może być łatwe, ale gdy dane stają się większe, a ruch rośnie, może to być dużym wyzwaniem. Wystarczy postępować zgodnie z najlepszymi praktykami, upewnić się, że dane zostały zabezpieczone, upewnić się, że kopia zapasowa jest zweryfikowana i jest przydatna, gdy trzeba zastosować odzyskiwanie danych.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zainstalować MariaDB na CentOS 8?

  2. Jak działa TAN() w MariaDB

  3. Jak TRIM() działa w MariaDB

  4. Napraw błąd 1064 (42000) podczas korzystania z operatora MINUS w MariaDB

  5. Porównanie ofert Galera Cluster Cloud:część pierwsza Amazon AWS