Tworzenie kopii zapasowych i przywracanie baz danych MySQL dla systemu Windows
Środowisko potwierdzenia operacji
- Język MySQL
-
- MySQL 8.0 Community Edition
- Windows
-
- Okna 11
Wymagane środowisko
- Język 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
- Baza danych MySQL musi być zainstalowana
- Baza danych, dla której ma zostać utworzona kopia zapasowa, już istnieje
- Skonfiguruj zmienne środowiskowe i pozwól na uruchamianie MySQL z wiersza polecenia
Informacje o typach kopii zapasowych
Nie będę tutaj wchodził w szczegóły, ale MySQL ma następujące typy kopii zapasowych:
Polecenie kopii zapasowej | Typ danych kopii zapasowej | Uwagi |
---|---|---|
mysqldump powiedział: | Logiczna kopia zapasowa | Stara metoda tworzenia kopii zapasowych. Graficzny interfejs użytkownika również z tego korzysta |
MysqlPump (Pompa MySQL) | Logiczna kopia zapasowa | Ulepszona wersja mysqldump |
Narzędzie do zrzutu instancji powłoki MySQL i narzędzie do ładowania zrzutu | Logiczna kopia zapasowa | Jako logiczna kopia zapasowa jest w tej chwili najnowsza |
Percona XtraBackup | Fizyczna kopia zapasowa | Produkty innych firm, które umożliwiają fizyczną kopię zapasową |
WTYCZKA KLONOWANIA | Fizyczna kopia zapasowa | Oficjalna fizyczna kopia zapasowa MySQL. Wymagane są jednak dodatkowe wtyczki |
Tworzenie kopii zapasowej bazy danych za pomocą graficznego interfejsu użytkownika (MySQL Workbench)
Jeśli chcesz bezpiecznie działać w graficznym interfejsie użytkownika bez użycia poleceń, możesz wykonać kopię zapasową w MySQL Workbench. Typ kopii zapasowej wykonywanej w MySQL Workbench to "mysqldump".
Uruchom aplikację MySQL Workbench.
Wybierz połączenie z bazą danych, dla której chcesz utworzyć kopię zapasową.
Po utworzeniu kopii zapasowej bazy danych wybierz kartę Administracja w Nawigatorze po lewej stronie, a następnie wybierz opcję Eksport danych.
Otworzy się ekran Eksport danych. Ekran jest dość duży, więc rozwiń okno, aż zobaczysz przycisk "Rozpocznij eksport" w prawym dolnym rogu.
Najpierw wybierz bazę danych, której kopię zapasową chcesz utworzyć. Można również wybrać więcej niż jeden z nich.
W sekcji "Obiekty do eksportu" możesz wybrać, czy chcesz również utworzyć kopię zapasową procedur, wyzwalaczy itp. Ten element jest opcjonalny.
W "Opcjach eksportu" możesz wybrać jedną z następujących dwóch opcji:
Opis typów | |
---|---|
Eksportuj do folderu projektu zrzutu | Dane wyjściowe jako tabela lub plik procedura po procedurze w danym folderze. |
Eksport do samodzielnego pliku | Osadź wszystko w jednym pliku i wyprowadź go. |
Nie ma znaczenia, który z nich wyprowadzisz. Jeśli wybierzesz powyższe, jest to łatwe, ponieważ możesz go łatwo usunąć, jeśli chcesz przywrócić tylko określoną tabelę. Poniższe wybory są wyprowadzane do pojedynczego pliku, co ułatwia przenoszenie plików i zarządzanie nimi jako jednostką bazy danych. Tym razem wybrałem następujące.
Po skonfigurowaniu kliknij przycisk Rozpocznij eksport w prawym dolnym rogu, aby rozpocząć eksport.
Eksport rozpocznie się i zakończy.
Jeśli wyprowadzisz dane w jednym pliku, będzie to 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łączenia, wybierz kartę Administracja w Nawigatorze po lewej stronie, a następnie wybierz pozycję Import/przywracanie danych. Jak jest napisane "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 go jako pojedynczy plik, wybrałem poniżej opcję "Importuj z pliku samodzielnego" i określiłem eksportowany plik.
Wybierz schemat (bazę danych), który ma zostać przywrócony. Możesz przywrócić do istniejącej bazy danych lub przywrócić ją jako nową bazę danych za pomocą przycisku "nowa" po prawej stronie.
Po określeniu kliknij przycisk "Rozpocznij import" w prawym dolnym rogu, aby rozpocząć odzyskiwanie.
Upewnij się, że dane zostały przywrócone po zakończeniu przywracania.
Utwórz konto do tworzenia kopii zapasowej bazy danych za pomocą polecenia
Nie ma problemu, jeśli chcesz uruchomić polecenie, aby wykonać kopię zapasową jeden raz, ale na przykład, jeśli wcześniej przygotujesz polecenie jako plik i uruchomisz je, musisz wpisać hasło w postaci zwykłego tekstu, więc bezpieczniej jest utworzyć osobne konto do uruchamiania kopii zapasowej.
Uprawnienia wymagane do tworzenia kopii zapasowych są następujące, ale mogą się zwiększyć lub zmniejszyć w zależności od wymaganych informacji.
- ZDARZENIE
- BLOKOWANIE TABEL
- WYBRAĆ
- POKAŻ WIDOK
Jeśli utworzysz go za pomocą polecenia, będzie to wyglądało tak: Uruchom go za pomocą narzędzia wiersza poleceń 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 do folderu, w którym przechowywany jest plik kopii zapasowej, muszą być ustawione na te same uprawnienia, co uprawnienia do wykonania polecenia. Jeśli chcesz uruchamiać polecenia z uprawnieniem Administratorzy, nie musisz ustawiać żadnych dodatkowych uprawnień dla folderu.
Tworzenie kopii zapasowej bazy danych za pomocą polecenia (mysqldump)
Istnieje kilka kopii zapasowych poleceń, ale tym razem wykonam kopię zapasową za pomocą starego i stabilnego "mysqldump".
Kliknij prawym przyciskiem myszy menu Start i uruchom Terminal (wiersz polecenia). Należy pamiętać, że nie jest to "klient wiersza poleceń MySQL 8.0".
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
będzie to ten sam kod znaku, co w przypadku tworzenia kopii zapasowej w graficznym interfejsie użytkownika. Pozwala to również na zaimportowanie ich do GUI.- Nie umieszczaj spacji między polem
-p
hasła a hasłem.- Jeśli chcesz również wyświetlić informacje o przestrzeni tabel,
--no-tablespaces
odznacz . W takim przypadku wymagane są uprawnieniaPROCESS
użytkownika wykonawczego.
Plik kopii zapasowej zostanie utworzony w określonej lokalizacji.
Przywracanie bazy danych za pomocą polecenia (mysqldump)
Pliki, których kopia zapasowa jest tworzona za pomocą mysqldump, są w formacie, który można uruchomić w języku SQL, więc wystarczy uruchomić docelowy kod SQL. Myślę, że przywracanie jest często wykonywane ręcznie, więc można go uruchomić na koncie root.
Jeśli chcesz uruchomić go z polecenia, uruchom go w wierszu polecenia, a nie w programie PowerShell. Dzieje <
się tak, ponieważ program PowerShell nie zezwala na symbole.
Uruchom następujące polecenie:
mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>
przykład
mysql -u root -ppassword test_database < C:\Temporary\Backup.sql
Automatyczna kopia zapasowa bazy danych
W systemie Windows często używa się harmonogramu zadań. Zacznij od utworzenia pliku wsadowego. Utwórz plik bat, wprowadź zawartość w takiej postaci, w jakiej została zarchiwizowana za pomocą poleceń, i zapisz ją. Zapisywanie kodów znaków za pomocą Shift-JIS. Lokalizacja i nazwa pliku wsadowego mogą być dowolne.
Zarejestruj się w harmonogramie zadań. Kliknij prawym przyciskiem myszy menu Start i wybierz "Zarządzaj 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.
Ustaw kartę Ogólne. "Nazwa" zostanie wyświetlona na liście zadań, więc umieść nazwę, która jest łatwa do zrozumienia. W opcjach zabezpieczeń zaznacz opcję "Uruchom niezależnie od tego, czy użytkownik jest zalogowany, czy nie".
Karta Wyzwalacze określa, kiedy powinna zostać wykonana kopia zapasowa. To ustawienie powinno być ustawione zgodnie z operacją.
Na karcie Operacje ustaw właśnie utworzony plik wsadowy do uruchomienia.
Po ustawieniu każdego z nich potwierdź je przyciskiem OK.
Wprowadź swoje hasło, aby zarejestrować się w celu uruchomienia na określonym koncie.
Teraz sprawdź, czy kopia zapasowa zostanie uruchomiona o określonej godzinie.