17.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 |
+---------------+---------------+------+-----+----------------------+--------------------------------------------------+
| id | int | NO | PRI | NULL | auto_increment |
| backup_id | bigint | NO | MUL | NULL | |
| tool_name | varchar(4096) | NO | | NULL | |
| error_code | int | NO | | NULL | |
| error_message | varchar(4096) | NO | | NULL | |
| current_time | timestamp(3) | NO | | CURRENT_TIMESTAMP(3) | DEFAULT_GENERATED on update CURRENT_TIMESTAMP(3) |
| current_state | varchar(200) | NO | | NULL | |
+---------------+---------------+------+-----+----------------------+--------------------------------------------------+
7 rows in set (0.00 sec)
Таблица backup_progress имеет формат InnoDB.
Вот несколько способов использования информации в таблице backup_progress:
Используйте значение
backup_idдля запроса всей информации о различных этапах одной операции резервного копирования и для поиска соответствующей строки в таблицеbackup_historyдля того же резервного копирования (строка записывается в таблицуbackup_historyтолько после завершения резервного копирования).Проверьте столбец
tool_nameдля получения полной команды mysqlbackup, которая инициировала резервное копирование, включая все используемые опции.Используйте значения
error_codeиerror_messageдля отслеживания любых ошибок, которые произошли, и для определения, следует ли прервать операцию резервного копирования из-за серьезных ошибок.Используйте значения
current_timeиcurrent_stateдля отслеживания прогресса операции. Они также позволяют измерить продолжительность каждого этапа резервного копирования, что помогает планировать будущие резервные копии.
Таблица backup_history
Каждая строка в таблице backup_history записывает подробности одного завершенного резервного копирования, созданного командой mysqlbackup. Таблица backup_history содержит следующие столбцы:
mysql> mysql> DESCRIBE mysql.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 | |
| start_lsn | bigint(20) | NO | | NULL | |
| end_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 | |
| 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 | |
+---------------------------+---------------+------+-----+---------------------+-------+
26 rows in set (0.01 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,DIFFERENTIAL,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.