Резервное копирование и восстановление баз данных 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 Логическое резервное копирование Старый метод резервного копирования. Графический интерфейс пользователя также использует это
mysqlpump Логическое резервное копирование Улучшенная версия mysqldump
Утилита дампа экземпляра MySQL Shell и утилита загрузки дампа Логическое резервное копирование В качестве логической резервной копии, он является самым поздним на данный момент
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 обычно используется планировщик задач. Начните с создания пакетного файла. Создайте bat-файл, введите содержимое в том виде, в котором оно было скопировано с помощью команд, и сохраните его. Сохраняйте коды символов с помощью Shift-JIS. Расположение и имя файла пакетной службы могут быть произвольными.

Зарегистрируйтесь в планировщике задач. Щелкните правой кнопкой мыши меню «Пуск» и выберите «Управление компьютером».

В меню слева выберите «Управление компьютером» > «Системные инструменты» > «Планировщик задач» > «Библиотека планировщика задач». Выберите Создать задачу в меню справа.

Задайте вкладку Общие. «Имя» будет отображаться в списке задач, поэтому поставьте имя, которое легко понять. В настройках безопасности отметьте флажок "Запускать, независимо от того, вошел пользователь в систему или нет".

Вкладка Триггеры устанавливает, когда должно выполняться резервное копирование. Эта настройка должна быть установлена в соответствии с вашей операцией.

На вкладке Операции настройте только что созданный командный файл для запуска.

После того, как вы установили каждый из них, подтвердите их кнопкой OK.

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

Теперь проверьте, будет ли выполняться резервное копирование в указанное время.