Резервне копіювання та відновлення баз даних MySQL для Windows
Середовище підтвердження роботи
- MySQL
-
- MySQL 8.0 Community Edition
- Вікна
-
- Вікна 11
Необхідне середовище
- MySQL
-
- MySQL 8.0
- Вікна
-
- Вікна 11
- Вікна 10
- Сервер Windows
-
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
Передумовою
- База даних MySQL повинна бути встановлена
- База даних, яка підлягає резервному копіюванню, вже існує
- Налаштуйте змінні оточення та дозвольте запускати MySQL з командного рядка
Про типи резервних копій
Не буду тут вдаватися в подробиці, але в MySQL є такі типи резервних копій:
Зауваження типу | резервного копіювання типу резервного копіювання | |
---|---|---|
mysqldump | Логічне резервне копіювання | Старий метод резервного копіювання. Графічний інтерфейс також використовує це |
Mysqlpump | Логічне резервне копіювання | Покращена версія mysqldump |
Утиліта дампа та утиліта завантаження дампа MySQL Shell Instance та утиліта завантаження дампа | Логічне резервне копіювання | Як логічна резервна копія, вона є найновішою на даний момент |
Percona XtraBackup | Фізичне резервне копіювання | Продукти сторонніх виробників, які дозволяють створювати фізичні резервні копії |
ПЛАГІН КЛОНУВАННЯ | Фізичне резервне копіювання | Офіційна фізична резервна копія MySQL. Однак потрібні додаткові плагіни |
Резервне копіювання бази даних з графічним інтерфейсом (MySQL Workbench)
Якщо ви хочете безпечно працювати в графічному інтерфейсі без використання команд, ви можете виконати резервне копіювання в MySQL Workbench. Тип резервного копіювання, що виконується в MySQL Workbench, це "mysqldump".
Запустіть MySQL Workbench.
Виберіть з'єднання з базою даних, резервну копію якої потрібно створити.
Створивши резервну копію бази даних, виберіть вкладку Адміністрування в Навігаторі ліворуч і виберіть Експорт даних.
Відкриється екран Експорт даних. Екран досить великий, тому розгортайте вікно до тих пір, поки не побачите кнопку «Почати експорт» в правому нижньому кутку.
Спочатку виберіть базу даних, резервну копію якої потрібно створити. Також можна вибрати кілька варіантів.
У розділі "Об'єкти для експорту" ви також можете вибрати, чи створювати резервні копії процедур, тригерів тощо. Цей пункт не є обов'язковим.
У «Опціях експорту» ви можете вибрати один із двох варіантів:
Опис видів | |
---|---|
Експорт до папки Dump Project | Вивести у вигляді таблиці або файлу процедур у заданій папці. |
Експорт у самостійний файл | Вбудуйте все в один файл і виведіть його. |
Не має значення, який з них ви виведете. Якщо ви виберете вище, це буде легко, тому що ви можете легко видалити його, якщо хочете відновити лише певну таблицю. Наступні вибрані параметри виводяться в один файл, що спрощує переміщення файлів і керування ними як блоком бази даних. Цього разу я обрав наступне.
Після налаштування натисніть кнопку «Почати експорт» у нижньому правому куті, щоб розпочати експорт.
Експорт починається і завершується.
Якщо ви виведете в один файл, це буде виглядати так:
Якщо ви експортуєте в папку, це буде виглядати так:
Відновлення бази даних з графічним інтерфейсом (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. Я думаю, що відновлення часто виконується вручну, тому можна запустити його на кореневому обліковому записі.
Якщо ви хочете запустити його з команди, запустіть його в командному рядку, а не в PowerShell. Це пов'язано <
з тим, що PowerShell не дозволяє використовувати символи.
Виконайте наступну команду:
mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>
приклад
mysql -u root -ppassword test_database < C:\Temporary\Backup.sql
Автоматичне резервне копіювання баз даних
Для Windows прийнято використовувати планувальник завдань. Почніть зі створення пакетного файлу. Створіть bat-файл, введіть вміст так, як він був підкріплений командами, і збережіть його. Зберігайте коди символів за допомогою Shift-JIS. Розташування та ім'я файлу пакета можуть бути довільними.
Зареєструйтесь у планувальнику завдань. Клацніть правою кнопкою миші по меню «Пуск» і виберіть «Управління комп'ютером».
У меню ліворуч виберіть «Керування комп'ютером» > «Системні інструменти» > «Планувальник завдань» > «Бібліотека планувальника завдань». Виберіть Створити завдання в меню праворуч.
Встановіть вкладку Загальні. "Ім'я" буде відображатися в списку завдань, тому ставте ім'я, яке легко зрозуміти. У параметрах безпеки поставте галочку "Запустити, незалежно від того, увійшов користувач у систему чи ні".
На вкладці Тригери вказано, коли має виконуватися резервне копіювання. Цей параметр слід встановлювати відповідно до вашої роботи.
На вкладці Операції встановіть пакетний файл, який ви щойно створили для запуску.
Після того, як ви встановили кожен з них, підтвердьте їх кнопкою OK.
Введіть свій пароль для реєстрації для запуску на вказаному обліковому записі.
Тепер перевірте, чи буде виконуватися резервна копія в зазначений час.