Tworzenie kopii zapasowych i przywracanie baz danych MySQL (wersja dla systemu Windows)

Strona zaktualizowana :
Data utworzenia strony :

Środowisko pracy

Baza danych MySQL
  • MySQL 8.0 Community Edition
Windows
  • Okna 11

Warunki wstępne

Baza danych MySQL
  • MySQL 8.0
Windows
  • Okna 11
  • Okna 10
Serwer z systemem Windows
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2

Warunek wstępny

  • Zainstalowano bazę danych dla MySQL.
  • Baza danych, której kopia zapasowa ma zostać utworzona, już istnieje.
  • Ustawiłeś zmienne środowiskowe, aby można było uruchamiać mysql z wiersza polecenia.

Jakie są rodzaje kopii zapasowych?

Chociaż nie zostało to tutaj szczegółowo omówione, MySQL ma następujące typy kopii zapasowych:

kopii
PoleceniazapasowejTypy danych kopii zapasowejUwagi
mysqldump (zrzut mysql) Logiczne kopie zapasowe Odwieczna metoda tworzenia kopii zapasowych. Graficzny interfejs użytkownika również z tego korzysta
MysqlPump Logiczne kopie zapasowe Ulepszona wersja mysqldump
Narzędzie do zrzutu instancji powłoki MySQL i narzędzie do ładowania zrzutu Logiczne kopie zapasowe Najnowsza logiczna kopia zapasowa w tej chwili
Percona XtraBackup Fizyczne kopie zapasowe Obsługa fizycznych kopii zapasowych innych firm
WTYCZKA KLONOWANIA Fizyczne kopie zapasowe Oficjalne fizyczne kopie zapasowe MySQL. Musisz jednak dodać wtyczkę.

Tworzenie kopii zapasowych baz danych za pomocą GUI (MySQL Workbench)

Jeśli chcesz bezpiecznie działać w graficznym interfejsie użytkownika bez użycia poleceń, możesz utworzyć kopię zapasową za pomocą MySQL Workbench. Typ kopii zapasowej wykonywanej przez MySQL Workbench to "mysqldump".

Uruchom aplikację MySQL Workbench.

Wybierz połączenie zawierające bazę danych, której kopię zapasową chcesz utworzyć.

Po utworzeniu kopii zapasowej bazy danych wybierz kartę Administracja w Nawigatorze po lewej stronie, a następnie wybierz pozycję Eksport danych.

Otworzy się ekran Eksport danych. Ekran jest dość szeroki, więc rozwiń okno, aż zobaczysz przycisk "Rozpocznij eksport" w prawym dolnym rogu.

Najpierw wybierz bazy danych, których kopię zapasową chcesz utworzyć. Możesz także wybrać więcej niż jedną.

W sekcji "Obiekty do wyeksportowania" możesz również utworzyć kopię zapasową procedur i wyzwalaczy. To pole jest opcjonalne.

W "Opcjach eksportu" możesz wybrać następujące dwie opcje.

Opis typu
Eksportuj do folderu projektu zrzutu Wyprowadzanie danych do określonego folderu jako tabela lub plik procedury.
Eksportuj do samodzielnego pliku Osadź wszystko w jednym pliku i wyjść.

Nie ma znaczenia, w którą stronę wyjdziesz. Powyższy wybór można łatwo usunąć, jeśli chcesz przywrócić tylko określoną tabelę. Poniższy wybór powoduje utworzenie pojedynczego pliku, co ułatwia przenoszenie plików i zarządzanie nimi jako jednostką bazy danych. W tym przypadku wybrałem następujące opcje.

Po ustawieniu ustawień kliknij przycisk "Rozpocznij eksport" w prawym dolnym rogu, aby rozpocząć eksport.

Eksport rozpocznie się i zakończy.

Jeśli wyprowadzisz go jako pojedynczy plik, będzie wyglądał tak:

Jeśli eksportujesz do folderu, będzie to wyglądać tak:

Przywracanie bazy danych za pomocą graficznego interfejsu użytkownika (MySQL Workbench)

Otwórz aplikację MySQL Workbench, wybierz połączenie, wybierz kartę Administracja w Nawigatorze po lewej stronie, a następnie wybierz pozycję Import/przywracanie danych. Jak mówi "Importuj / Przywróć", możesz utworzyć nową bazę danych z wyeksportowanego pliku lub nadpisać oryginalną bazę danych.

Rozwiń okno, aż zobaczysz przycisk "Rozpocznij import" w prawym dolnym rogu.

Wybierz "Opcje importu" zgodnie z formatem eksportowanego pliku. Ponieważ tym razem wyeksportowałem jako pojedynczy plik, wybrałem poniżej "Importuj z samodzielnego pliku" i określiłem eksportowany plik.

Wybierz schemat (bazę danych), do którego chcesz przywrócić. Możesz przywrócić istniejącą bazę danych lub przywrócić ją jako nową bazę danych za pomocą przycisku "Nowy" po prawej stronie.

Po określeniu specyfikacji kliknij przycisk "Rozpocznij import" w prawym dolnym rogu, aby rozpocząć przywracanie.

Po zakończeniu przywracania upewnij się, że dane zostały przywrócone.

Utwórz konto do tworzenia kopii zapasowych bazy danych za pomocą polecenia

Nie ma problemu, jeśli wykonasz pojedyncze polecenie i wykonasz jego kopię zapasową, ale na przykład, jeśli wcześniej przygotujesz polecenie jako plik i wykonasz je, musisz zapisać hasło w postaci zwykłego tekstu, więc bezpieczniej jest utworzyć osobne konto do wykonywania kopii zapasowej.

Niektóre uprawnienia wymagane do tworzenia kopii zapasowych mogą się zwiększać lub zmniejszać w zależności od wymaganych informacji.

  • ZDARZENIE
  • TABELE BLOKAD
  • WYBRAĆ
  • POKAŻ WIDOK

Jeśli utworzysz go za pomocą polecenia, będzie wyglądał tak. Użyj narzędzia wiersza polecenia MySQL.

create user '<ユーザー名>'@'<ホスト名>' identified by '<パスワード>';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON <データベース名>.* TO '<ユーザー名>'@'<ホスト名>';
flush privileges;

przykład

create user 'backup_user'@'localhost' identified by 'password';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON test_database.* TO 'backup_user'@'localhost';
flush privileges;

Uprawnienia do folderów dla miejsca docelowego kopii zapasowej

Uprawnienia folderu, w którym zapisywany jest plik kopii zapasowej, muszą być ustawione w taki sam sposób, jak uprawnienia do wykonywania polecenia. Jeśli polecenie zostanie uruchomione z uprawnieniami administratorów, nie trzeba ustawiać żadnych dodatkowych uprawnień do folderu.

Tworzenie kopii zapasowej bazy danych za pomocą polecenia (mysqldump)

Istnieje kilka kopii zapasowych za pomocą polecenia, ale tym razem wykonamy kopię zapasową za pomocą "mysqldump", który jest używany od dłuższego czasu i jest stabilny.

Kliknij prawym przyciskiem myszy menu Start, aby uruchomić Terminal (wiersz polecenia). Zauważ, że nie jest to "MySQL 8.0 Command Line Client".

Możesz wykonać kopię zapasową za pomocą następującego polecenia:

mysqldump -u <ユーザー名> -p<パスワード> --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 <データベース名> > "<バックアップファイルパス>"

przykład

mysqldump -u backup_user -ppassword --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 test_database > "C:\Temporary\Backup.sql"

  • --default-character-set=utf8 Jeśli określisz ten sam kod znaku, co podczas tworzenia kopii zapasowej w graficznym interfejsie użytkownika, będzie on taki sam, jak podczas tworzenia kopii zapasowej w graficznym interfejsie użytkownika. W ten sposób możesz również zaimportować go w GUI.
  • Nie umieszczaj spacji między polem hasła a -p hasłem.
  • Jeśli chcesz również wyświetlić informacje o obszarze tabel, --no-tablespaces usuń plik . W takim przypadku uprawnienia uruchomionego użytkownika muszą być . PROCESS

Plik kopii zapasowej zostanie utworzony w określonej lokalizacji.

Przywracanie bazy danych za pomocą polecenia (mysqldump)

Pliki zarchiwizowane przez mysqldump są w formacie, który można wykonać w SQL, więc wszystko, co musisz zrobić, to wykonać docelowy SQL. Myślę, że większość przywracania jest wykonywana ręcznie, więc nie ma problemu, jeśli uruchomisz go jako konto root.

Jeśli chcesz uruchomić go z polecenia, uruchom je w wierszu polecenia zamiast programu PowerShell. Dzieje się tak, ponieważ symbolu nie można używać w < programie PowerShell.

Uruchom następujące polecenie:

mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>

przykład

mysql -u root -ppassword test_database < C:\Temporary\Backup.sql

Automatyczne tworzenie kopii zapasowych baz danych

W systemie Windows często używa się Harmonogramu zadań. Najpierw utwórz plik wsadowy. Utwórz plik bat, wprowadź zawartość taką, jaka została utworzona przez polecenie, i zapisz ją. Kodowanie znaków jest zapisywane za pomocą Shift-JIS. Lokalizacja i nazwa pliku wsadowego są dowolne.

Zarejestruj się w Harmonogramie zadań. Kliknij prawym przyciskiem myszy menu Start i wybierz Zarządzanie komputerem.

Z menu po lewej stronie wybierz Zarządzanie komputerem > Narzędzia systemowe > Harmonogram zadań > Biblioteka harmonogramu zadań. Wybierz "Utwórz zadanie..." z menu po prawej stronie.

Skonfiguruj kartę Ogólne. "Nazwa" pojawi się na liście zadań, więc wprowadź nazwę, która jest łatwa do zrozumienia. W opcjach zabezpieczeń zaznacz "Uruchom niezależnie od tego, czy użytkownik jest zalogowany, czy nie".

W zakładce "Wyzwalacz" możesz ustawić, kiedy wykonać kopię zapasową. Ustaw to ustawienie zgodnie z operacją.

Na karcie "Operacja" ustaw go tak, aby uruchamiał właśnie utworzony plik wsadowy.

Po ustawieniu każdego z nich potwierdź przyciskiem OK.

Wprowadź hasło, aby zarejestrować się w celu uruchomienia w ramach określonego konta.

Następnie sprawdź, czy kopia zapasowa zostanie wykonana w określonym czasie.