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.