Spec-Zone.ru › MySQL 5.7

7.3 Пример стратегии резервного копирования и восстановления

  • 7.3.1 Установление политики резервного копирования
  • 7.3.2 Восстановление данных из резервных копий
  • 7.3.3 Резюме стратегии резервного копирования

В этом разделе рассматривается процедура выполнения резервных копий, которая позволяет восстановить данные после нескольких типов сбоев:

  • Сбой операционной системы

  • Отключение электропитания

  • Сбой файловой системы

  • Проблемы с оборудованием (жесткий диск, материнская плата и т. д.)

В примерах команд отсутствуют такие параметры, как --user и --password для программ-клиентов mysqldump и mysql. Вам необходимо включить такие параметры, чтобы программы-клиенты могли подключиться к серверу MySQL.

Предполагается, что данные хранятся в InnoDB движке хранения данных, который поддерживает транзакции и автоматическое восстановление после сбоев. Предполагается также, что сервер MySQL находится под нагрузкой во время сбоя. Если бы этого не было, восстановление никогда не потребовалось бы.

В случае сбоев операционной системы или отключения электропитания можно предположить, что данные диска MySQL доступны после перезагрузки. Файлы данных InnoDB могут не содержать согласованных данных из-за сбоя, но InnoDB считывает свои журналы и находит в них список ожидающих завершенных и незавершенных транзакций, которые не были записаны в файлы данных. InnoDB автоматически откатывает те транзакции, которые не были завершены, и записывает в файлы данных те, которые были завершены. Информация об этом процессе восстановления передается пользователю через журнал ошибок MySQL. Ниже приведен пример фрагмента лога:

InnoDB: Database was not shut down normally.
InnoDB: Starting recovery from log files...
InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 0 13674004
InnoDB: Doing recovery: scanned up to log sequence number 0 13739520
InnoDB: Doing recovery: scanned up to log sequence number 0 13805056
InnoDB: Doing recovery: scanned up to log sequence number 0 13870592
InnoDB: Doing recovery: scanned up to log sequence number 0 13936128
...
InnoDB: Doing recovery: scanned up to log sequence number 0 20555264
InnoDB: Doing recovery: scanned up to log sequence number 0 20620800
InnoDB: Doing recovery: scanned up to log sequence number 0 20664692
InnoDB: 1 uncommitted transaction(s) which must be rolled back
InnoDB: Starting rollback of uncommitted transactions
InnoDB: Rolling back trx no 16745
InnoDB: Rolling back of trx no 16745 completed
InnoDB: Rollback of uncommitted transactions completed
InnoDB: Starting an apply batch of log records to the database...
InnoDB: Apply batch completed
InnoDB: Started
mysqld: ready for connections

В случае сбоев файловой системы или проблем с оборудованием можно предположить, что данные диска MySQL не доступны после перезагрузки. Это означает, что MySQL не может успешно запуститься, потому что некоторые блоки данных диска больше недоступны для чтения. В этом случае необходимо отформатировать диск, установить новый или каким-либо образом исправить основную проблему. Затем необходимо восстановить данные MySQL из резервных копий, что означает, что резервные копии уже должны быть созданы. Чтобы убедиться в этом, разработайте и реализуйте политику резервного копирования.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/backup-strategy-example.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API