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

Страницата се актуализира :
Дата на създаване на страница :

Работна среда

МиШЛЛ
  • MySQL 8.0 Издание на общността
Уиндоус
  • Прозорци 11

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

МиШЛЛ
  • MySQL 8.0
Уиндоус
  • Прозорци 11
  • Прозорци 10
Сървър на Windows
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2

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

  • Инсталирана е база данни за MySQL.
  • Базата данни, която трябва да бъде архивирана, вече съществува.
  • Задали сте променливи на средата, така че да можете да стартирате mysql от командния ред.

Какви са видовете резервни копия?

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

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

Архивиране на бази данни с GUI (MySQL Workbench)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Възстановяване на база данни с GUI (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 Command Line Client".

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

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. Мисля, че повечето възстановявания се извършват ръчно, така че няма проблем, ако го стартирате като коренен акаунт.

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

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

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

пример

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

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

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

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

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

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

В раздела "Trigger" можете да зададете кога да извършите архивирането. Задайте тази настройка според вашата операция.

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

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

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

След това проверете дали архивирането ще бъде изпълнено в определеното време.