Резервное копирование и восстановление баз данных 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.
Введите свой пароль для регистрации и запуска на указанной учетной записи.
Теперь проверьте, будет ли выполняться резервное копирование в указанное время.