Spec-Zone.ru › MySQL Enterprise Backup 4.1

13.3 Использование журналов резервного копирования MySQL Enterprise Backup

Помимо вывода сообщений MySQL Enterprise Backup в поток stderr и в файл журнала, прогресс и история каждого резервного копирования также записываются в таблицы mysql.backup_progress и mysql.backup_history на серверах, с которых производится резервное копирование (чтобы пропустить обновление двух таблиц, используйте опцию --no-history-logging с командой резервного копирования).

backup_progress Таблица

Каждая строка в таблице backup_progress записывает изменение состояния или сообщение от выполняемой задачи резервного копирования. Таблица backup_progress имеет следующие столбцы:

mysql> DESCRIBE mysql.backup_progress;
+---------------+---------------+------+-----+-------------------+-----------------------------------------------+
| Field         | Type          | Null | Key | Default           | Extra                                         |
+---------------+---------------+------+-----+-------------------+-----------------------------------------------+
| backup_id     | bigint(20)    | NO   |     | NULL              |                                               |
| tool_name     | varchar(4096) | NO   |     | NULL              |                                               |
| error_code    | int(11)       | NO   |     | NULL              |                                               |
| error_message | varchar(4096) | NO   |     | NULL              |                                               |
| current_time  | timestamp     | NO   |     | CURRENT_TIMESTAMP | DEFAULT_GENERATED on update CURRENT_TIMESTAMP |
| current_state | varchar(200)  | NO   |     | NULL              |                                               |
+---------------+---------------+------+-----+-------------------+-----------------------------------------------+
6 rows in set (0.00 sec)

Таблица backup_progress находится в формате CSV. Вы можете запросить таблицу с помощью клиента mysql или обработать соответствующий файл .CSV с помощью приложения или скрипта.

Вот несколько способов использования информации в таблице backup_progress:

  • Используйте значение backup_id для запроса всей информации о разных этапах одной операции резервного копирования и для поиска соответствующей строки в таблице backup_history для того же резервного копирования (строка записывается в таблицу backup_history только после завершения резервного копирования).

  • Используйте значения error_code и error_message для отслеживания возникших ошибок и для определения, следует ли прекратить операцию резервного копирования из-за серьезных ошибок.

  • Используйте значения current_time и current_state для отслеживания хода операции. Они также позволяют измерить, сколько времени занимает каждый этап резервного копирования, что помогает планировать будущие резервные копии.

backup_history Таблица

Каждая строка в таблице backup_history записывает подробности одного завершенного резервного копирования, произведенного командой mysqlbackup. Таблица backup_history имеет следующие столбцы:

mysql> DESC backup_history;
    +---------------------------+---------------+------+-----+---------------------+-------+
    | Field                     | Type          | Null | Key | Default             | Extra |
    +---------------------------+---------------+------+-----+---------------------+-------+
    | backup_id                 | bigint(20)    | NO   | PRI | NULL                |       |
    | tool_name                 | varchar(4096) | NO   |     | NULL                |       |
    | start_time                | timestamp     | NO   |     | 0000-00-00 00:00:00 |       |
    | end_time                  | timestamp     | NO   |     | 0000-00-00 00:00:00 |       |
    | binlog_pos                | bigint(20)    | NO   |     | NULL                |       |
    | binlog_file               | varchar(255)  | NO   |     | NULL                |       |
    | compression_level         | int(11)       | NO   |     | NULL                |       |
    | engines                   | varchar(100)  | NO   |     | NULL                |       |
    | innodb_data_file_path     | varchar(2048) | NO   |     | NULL                |       |
    | innodb_file_format        | varchar(100)  | NO   |     | NULL                |       |
    | start_lsn                 | bigint(20)    | NO   |     | NULL                |       |
    | end_lsn                   | bigint(20)    | NO   |     | NULL                |       |
    | incremental_base_lsn      | bigint(20)    | NO   |     | NULL                |       |
    | backup_type               | varchar(50)   | NO   |     | NULL                |       |
    | backup_format             | varchar(50)   | NO   |     | NULL                |       |
    | mysql_data_dir            | varchar(2048) | NO   |     | NULL                |       |
    | innodb_data_home_dir      | varchar(2048) | NO   |     | NULL                |       |
    | innodb_log_group_home_dir | varchar(2048) | NO   |     | NULL                |       |
    | innodb_log_files_in_group | varchar(100)  | NO   |     | NULL                |       |
    | innodb_log_file_size      | varchar(100)  | NO   |     | NULL                |       |
    | backup_destination        | varchar(4096) | NO   |     | NULL                |       |
    | lock_time                 | double(7,3)   | NO   |     | NULL                |       |
    | exit_state                | varchar(10)   | NO   |     | NULL                |       |
    | last_error                | varchar(4096) | NO   |     | NULL                |       |
    | last_error_code           | int(11)       | NO   |     | NULL                |       |
    | start_time_utc            | bigint(20)    | NO   |     | NULL                |       |
    | end_time_utc              | bigint(20)    | NO   |     | NULL                |       |
    | consistency_time_utc      | bigint(20)    | NO   |     | NULL                |       |
    | meb_version               | varchar(20)   | NO   |     | 0.0.0               |       |
    | server_uuid               | varchar(36)   | NO   |     | NULL                |       |
    +---------------------------+---------------+------+-----+---------------------+-------+
    30 rows in set (0.00 sec)
Предупреждение

Поскольку успешное резервное копирование всегда записывается как таковое в таблице backup_history, ошибка в фазе apply-log команды backup-and-apply-log не отражается в таблице backup_history. Всегда важно проверять вывод mysqlbackup, чтобы убедиться, что операция завершена полностью без ошибок.

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

  • Столбец tool_name записывает полную команду mysqlbackup, которая запускает резервное копирование, включая все используемые параметры.

  • Вы можете использовать значение end_lsn последнего резервного копирования в качестве начального значения LSN для следующего инкрементного резервного копирования, указав его с помощью опции --start-lsn. (Альтернативой указанию начального значения LSN для инкрементного резервного копирования является использование опции --incremental-base).

  • Столбец binlog_pos указывает позицию двоичного журнала до момента, когда события журнала были покрыты резервным копированием. Поскольку таблица backup_history раньше была в формате CSV, который не может напрямую регистрировать значения NULL, если двоичное протоколирование не включено, в столбец вводится значение -1; то же самое относится к другим столбцам для регистрации значений NULL.

  • Значение для backup_type — одно из FULL, PARTIAL, INCREMENTAL или TTS.

  • Значение для backup_format — одно из IMAGE (для резервных копий одного файла) или DIRECTORY (для резервных копий каталогов).

  • Используйте значения, показывающие настройки резервного копирования, такие как mysql_data_dir, innodb_data_home_dir и backup_destination, чтобы убедиться, что резервные копии используют правильные исходные и целевые каталоги.

  • Значение для exit_state равно либо SUCCESS, либо FAILURE. Если exit_state равно SUCCESS и last_error равно 'NO_ERROR', операция резервного копирования прошла успешно; в противном случае обратитесь к last_error и last_error_code для получения последней ошибки операции. Чтобы получить полный список ошибок для данной операции резервного копирования, обратитесь к таблице backup_progress.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-enterprise-backup-4.1-en/trouble.logging.html

Spec-Zone.ru

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