|
|
Opublikowano 30.09.2021 14:42:47
|
|
|
|

Zaplanowana kopia zapasowa bazy danych to obowiązkowy wybór dla każdego programisty, a regularne kopie zapasowe mogą rozwiązać problem przypadkowego usunięcia niektórych danych, które można przywrócić do określonego momentu i zminimalizować straty.
MySQL oferuje wygodne narzędzie do eksportu danych i plików bazy danych z wiersza poleceń mysqldump, które umożliwia eksport baz danych przez wiersz poleceń.
Recenzja:
Ten artykuł jest używanyCentOS 7środowiska, tworząc kopie zapasowe zdalnych baz danych do lokalnej przez mysqldump. Jeśli uruchomimy bezpośrednio polecenie mysqldump, błąd będzie następujący:
-bash: mysqldump: polecenie nie znaleziono Zaleca się tu otwartoźródłowy pakiet firm trzecich, Mydumper, wysokowydajne, wielowątkowe narzędzie do kopii zapasowej i odzyskiwania dla MySQL i Drizzle. Szybsze niż szybkość kopii zapasowej i odzyskiwania w mysqldump.
Adres GitHub:Logowanie do linku jest widoczne.
Polecenie instalacji jest następujące:
W ten sposób można już używać zarówno poleceń mydumper, jak i myloader, mydumper odpowiada za eksport, a myloader za import, jak pokazano na poniższym rysunku:
mydumperWyjaśnienie parametrów
-B, --baza danych Baza, którą ma się zbackupować, jeśli nie jest określona, wykonuje kopię zapasową wszystkich bibliotek -T, --tabele-lista Tabele, które trzeba zrobić kopię zapasową, są oddzielone przecinkami -o, --outputdir do tworzenia kopii zapasowej katalogu, z którego plik jest wyprowadzany -s, --rozmiar instrukcji Liczba bajtów instrukcji insert generowanej przez --rozmiar instrukcji domyślnie wynosi 10000000 -r, --wiersze Podczas dzielenia tabeli na wiersze określ liczbę wierszy blokowych, a podanie tej opcji wyłączy --chunk-filesize -F, --rozmiar pliku chunk-Gdy dzielenie tabeli według rozmiaru, określony rozmiar bloku w MB -c, --kompresuj kompresję skompresuj plik wyjściowy -e, --build-empty-files, jeśli dane tabeli są puste lub generuje pusty plik (domyślnie brak danych, tylko plik struktury tabeli) -x, --regex jest tym samym co wyrażenie regularne dopasowujące 'db.table' -i, --ignore-engine ignorują silniki pamięci masowej i stosują grube partycjonowanie -m, --schematy nie tworzą kopii zapasowej struktur tabel -k, --no-locks nie używają tymczasowych współdzielonych blokad tylko do odczytu, a użycie tej opcji powoduje niespójności danych --less-locking skraca czas potrzebny na zastosowanie blokad do tabel InnoDB (mechanika tego wzorca jest szczegółowo wyjaśniona poniżej) -l, --long-query-guard Ustaw czas limitu dla długich zapytań blokujących kopie zapasowe, w sekundach, a domyślny to 60 sekund (mydumper domyślnie zakończy się po timeout). --zabijaj-długie-zapytania zabijają długie zapytania (bez wyjścia) -b, --binlogi eksportowe binlogi -D, --demon aktywuje tryb demonów, który wykonuje kopie zapasowe bazy danych w określonych odstępach bez przerw -Ja, --zrzut interwału migawki Czas interwału migawki, domyślnie 60s, musi być w trybie demona -L, --logfile używa nazwy pliku logu (log generowanego przez mydumper) i domyślnie używa standardowego wyjścia --tz-utc między strefami czasowymi to opcja używana, a nie wyjaśniona --skip-tz-utc Id --punkty zapisu używania Punkty zapisu do skrócenia czasu blokady spowodowanego zbieraniem metadanych, co wymaga uprawnień SUPER --success-on-1146 Nie zwiększa liczby błędów i Ostrzeżenie zamiast Krytyczne, jeśli tabela nie istnieje -h, --host Nazwa hosta połączenia -u, --użytkownik wykonaj kopię zapasową użytkownika użytego -p, --hasło, hasło -P, --port portu -S, --socket Plik socket podczas komunikacji socket -t, --wątki Domyślna liczba wątków kopii zapasowych wynosi 4 -C, --compress-protocol kompresuje dane komunikujące się z mysql -V, --wersja wyświetla numer wersji -v, --rozwlekły wzór informacji wyjściowych, 0 = cichy, 1 = błędy, 2 = ostrzeżenia, 3 = informacje, domyślnie 2 myloaderWyjaśnienie parametrów
-d, --folder katalogu dla pliku kopii zapasowej -q, --zapytania-na-transakcję Domyślnie wynosi 1000 -o, --nadpisywa-tabel Jeśli tabela do przywrócenia istnieje, najpierw ją porzuć, użyj tego parametru i zrób kopię zapasową struktury tabeli, gdy będziesz musiał zrobić kopię zapasową -B, --baza danych Baza danych, którą trzeba przywrócić -e, --enable-binlog umożliwia logom binarnym przywracanie danych -H, --hosthost -u, --użytkownik przywrócony -p, --hasło, hasło -P, --port portu -S, --plik gniazda -t, --wątki przywracają liczbę użytych wątków, domyślnie to 4 -C, --protokół kompresji -V, --wersja wyświetla wersję -v, --tryb wyjściowy rozwlekły, 0 = cichy, 1 = błędy, 2 = ostrzeżenia, 3 = informacje, domyślnie 2 Kopie zapasowe testów
Polecenie eksportu bazy danych wygląda następująco:
Po uruchomieniu mydumper utworzy określony adres katalogu, który przechodzimy przez parametry, zawierający plik metadanych zapisujący binarną nazwę pliku logu w czasie kopii zapasowej oraz miejsce, gdzie log został zapisany. Każda tabela zawiera dwa kopie zapasowe files:database.table-schema.sql pliku struktury tabeli oraz database.table.sql pliku danych tabeli.
Zaplanowane kopie zapasowe
Artykuły referencyjne przedstawiają się następująco:
Stwórzmy nowy skrypt powłoki o nazwie :backup_uat.sh, w następujący sposób:
Udziel uprawnień do wykonania:
Dodaj zadanie
Zadanie wykonywane jest codziennie o 00:10 rano
Przeładuj konfigurację
(Koniec)
|
Poprzedni:Podstawy środowiska Linuksa: różnica między instalacją EL6, EL7 i EL8 w pakietach rpmNastępny:Wyjaśnienie technologii RAID - porównanie RAID0, RAID1, RAID3, RAID5, RAID6, RAID10
|