Архивиране и възстановяване на MySQL бази данни за Windows

Дата на създаване на страница :

Среда за потвърждение на операцията

MySQL
  • MySQL 8.0 Community Edition
Уиндоус
  • Windows 11

Необходима среда

MySQL
  • MySQL 8.0
Уиндоус
  • Windows 11
  • Windows 10
Windows Server
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2

Предпоставка

  • MySQL база данни трябва да бъде инсталирана
  • Базата данни, която трябва да бъде архивирана, вече съществува
  • Конфигурирайте променливите на средата и ви позволяват да стартирате MySQL от командния ред

Всичко за типовете архивиране

Тук няма да навлизам в подробности, но MySQL има следните видове архиви:

за архивиране
Резервна команда Резервни копия Забележки за типа данни
mysqldump Логическо архивиране Стар метод за архивиране. Графичният потребителски интерфейс също използва това
MySQL Pump Логическо архивиране Подобрена версия на mysqldump
MySQL Shell Instance Dump Utility и Dump Loading Utility Логическо архивиране Като логично резервно копие, това е най-новото в момента
Percona XtraBackup Физическо архивиране Продукти на трети страни, които позволяват физическо архивиране
ПЛЪГИН ЗА КЛОНИРАНЕ Физическо архивиране Официално физическо архивиране на MySQL. Необходими са обаче допълнителни плъгини

Архивиране на база данни с графичен интерфейс (MySQL Workbench)

Ако искате да работите сигурно в графичния интерфейс, без да използвате команди, можете да извършите архивиране в MySQL Workbench. Типът архивиране, извършван в MySQL Workbench, е "mysqldump".

Стартирайте MySQL Workbench.

Изберете връзката с базата данни, която искате да архивирате.

С базата данни, която трябва да бъде архивирана, изберете раздела Администриране от Навигатор вляво и изберете Експортиране на данни.

Отваря се екранът за експортиране на данни. Екранът е доста голям, така че разширете прозореца, докато видите бутона "Стартиране на експортирането" в долния десен ъгъл.

Първо изберете базата данни, която искате да архивирате. Можете също да изберете повече от един.

В "Обекти за експортиране" можете да изберете дали да архивирате процедури, тригери и т.н. Този елемент не е задължителен.

В "Опции за експортиране" можете да избирате от следните две опции:

Описание на видовете
Експортиране в папка на проекта за разтоварване Изход като таблица или файл по процедура в дадена папка.
Експортиране в самостоятелен файл Вградете всичко в един файл и го изведете.

Няма значение кой от тях извеждате. Ако изберете по-горе, това е лесно, защото можете лесно да го премахнете, ако искате да възстановите само определена таблица. Следните селекции се извеждат в един файл, което улеснява преместването и управлението на файлове като база данни. Този път избрах следното.

След като конфигурирате, щракнете върху бутона Стартиране на експортиране в долния десен ъгъл, за да започнете експортирането.

Експортът започва и завършва.

Ако изведете в един файл, той ще изглежда така:

Ако експортирате в папка, тя ще изглежда така:

Възстановяване на база данни с графичен интерфейс (MySQL Workbench)

Отворете MySQL Workbench, изберете вашите връзки, изберете раздела Администриране от Навигатор вляво и изберете Импортиране/възстановяване на данни. Както пише "Импортиране/възстановяване", можете да създадете нова база данни от експортирания файл или да презапишете оригиналната база данни.

Разгънете прозореца, докато видите бутона "Стартиране на импортирането" в долния десен ъгъл.

Моля, изберете "Опции за импортиране" според експортирания файлов формат. Тъй като този път го експортирах като един файл, избрах "Импортиране от самостоятелен файл" по-долу и посочих експортирания файл.

Изберете схемата (базата данни), която трябва да бъде възстановена. Можете да възстановите в съществуваща база данни или да я възстановите като нова база данни от бутона "нова" вдясно.

След като посочите, щракнете върху бутона "Стартиране на импортиране" в долния десен ъгъл, за да започнете възстановяването.

Уверете се, че данните ви са върнати, когато възстановяването приключи.

Създайте акаунт за архивиране на база данни чрез команда

Няма проблем, ако искате да изпълните команда за архивиране еднократно, но например, ако предварително подготвите команда като файл и я изпълните, трябва да напишете паролата в обикновен текст, така че е по-безопасно да създадете отделен акаунт за стартиране на архивирането.

Разрешенията, необходими за архивиране, са както следва, но могат да се увеличават или намаляват в зависимост от необходимата информация.

  • СЪБИТИЕ
  • ЗАКЛЮЧВАНЕ МАСИ
  • ОТБРАН
  • ПОКАЖИ ИЗГЛЕД

Ако го създадете с команда, той ще изглежда така: Стартирайте го с инструмента за команден ред MySQL.

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

пример

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

Разрешения за папки за дестинация за архивиране

Разрешенията за папката, в която се съхранява архивният файл, трябва да бъдат зададени на същото разрешение като разрешението за изпълнение на командата. Ако искате да изпълнявате команди с разрешението на администраторите, не е необходимо да задавате допълнителни разрешения за папката.

Архивиране на база данни с командата (mysqldump)

Има няколко резервни копия на команди, но този път ще архивирам със стария и стабилен "mysqldump".

Щракнете с десния бутон върху менюто "Старт" и стартирайте Терминал (команден ред). Моля, имайте предвид, че това не е "MySQL 8.0 клиент на командния ред".

Можете да го архивирате със следната команда:

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

пример

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 ще бъде същият код на символи, както при архивиране в графичния интерфейс. Това ви позволява да ги импортирате и в графичния интерфейс.
  • Не поставяйте интервал между полето -p за парола и паролата.
  • Ако искате да изведете и информация за табличното пространство, --no-tablespaces моля, премахнете отметката от . В този случай са необходими разрешенията на PROCESS потребителя за изпълнение.

На посоченото място ще бъде създаден архивен файл.

Възстановяване на база данни с командата (mysqldump)

Файловете, архивирани с mysqldump, са във формат, който може да се изпълнява в SQL, така че трябва да стартирате само целевия SQL. Мисля, че възстановяването често се извършва ръчно, така че е добре да го стартирате на root акаунта.

Ако искате да го изпълните от команда, изпълнете го в командния ред вместо в PowerShell. Това е < така, защото PowerShell не позволява символи.

Изпълнете следната команда:

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

пример

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

Автоматично архивиране на база данни

За Windows е обичайно да се използва планировчик на задачи. Започнете със създаване на пакетен файл. Създайте файл с прилеп, въведете съдържанието, както е архивирано с команди, и го запазете. Запазете кодовете на знаци със Shift-JIS. Местоположението и името на файла на партидния файл могат да бъдат произволни.

Регистрирайте се в планировчика на задачи. Щракнете с десния бутон върху менюто "Старт" и изберете "Управление на компютъра".

От менюто вляво изберете Управление на компютъра > Системни инструменти > Планировчик на задачи > Библиотека на планировчика на задачи. Изберете Създаване на задача от менюто вдясно.

Задайте раздела Общи. "Името" ще се покаже в списъка със задачи, така че поставете име, което е лесно за разбиране. В опциите за сигурност поставете отметка "Стартирайте дали потребителят е влязъл или не".

Разделът Тригери задава кога трябва да се извърши архивирането. Тази настройка трябва да бъде зададена според вашата работа.

В раздела Операции задайте пакетния файл, който току-що създадохте, за стартиране.

След като зададете всеки от тях, потвърдете ги с бутона OK.

Въведете паролата си, за да се регистрирате, за да стартирате с посочения акаунт.

Сега проверете дали резервното копие ще се изпълни в посоченото време.