Резервное копирование и восстановление баз данных MySQL (версия для Windows)

Страница обновлена :
Дата создания страницы :

Условия эксплуатации

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

Необходимые условия

MySQL
  • MySQL 8.0
Виндоус
  • Windows 11
  • Windows 10
Сервер Windows
  • 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 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. Я думаю, что большинство восстановлений выполняется вручную, поэтому нет никаких проблем, если вы запустите его от имени учетной записи root.

Если вы хотите запустить его из команды, запустите его в командной строке, а не в PowerShell. Это связано с тем, что символ нельзя использовать в < PowerShell.

Выполните следующую команду:

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

пример

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

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

Для Windows обычно используется планировщик заданий. Во-первых, создайте командный файл. Создайте bat-файл, введите его содержимое в том виде, в котором оно было скопировано командой, и сохраните его. Кодировка символов сохраняется с помощью Shift-JIS. Расположение и имя пакетного файла произвольны.

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

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

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

Во вкладке «Триггер» можно установить, когда выполнять резервное копирование. Установите этот параметр в соответствии с вашей операцией.

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

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

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

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