15.4.1.2 Выполнение команды RESET BINARY LOGS AND GTIDS
RESET BINARY LOGS AND GTIDS [TO binary_log_file_index_number]
Используйте данную команду с осторожностью, чтобы не потерять необходимые данные логов бинарных журналов и истории выполнения GTID.
Для выполнения команды требуется RELOAD привилегия.
Для сервера, где включены бинарные логи (log_bin имеет значение ON), команда RESET BINARY LOGS AND
GTIDS удаляет все существующие файлы бинарных логов и сбрасывает индексный файл бинарных логов, возвращая сервер в состояние до включения бинарного логгирования. Создаётся новый пустой файл бинарного лога для возобновления бинарного логгирования.
Для сервера, где используются GTID (gtid_mode имеет значение ON), выполнение команды RESET BINARY LOGS AND
GTIDS сбрасывает историю выполнения GTID. Значение системной переменной gtid_purged устанавливается в пустую строку (''), глобальное значение (но не сессионное) системной переменной gtid_executed устанавливается в пустую строку, а таблица mysql.gtid_executed очищается (см. Таблица mysql.gtid_executed). Если на сервере с поддержкой GTID включено бинарное логгирование, команда также сбрасывает бинарный лог, как описано выше. Обратите внимание, что команда RESET BINARY LOGS AND
GTIDS — это метод сброса истории выполнения GTID даже если GTID-сервер является репликой, где бинарное логгирование отключено; RESET
REPLICA не оказывает никакого влияния на историю выполнения GTID. Более подробную информацию о сбросе истории выполнения GTID см. в разделе Сброс истории выполнения GTID.
Выполнение команды RESET BINARY LOGS AND GTIDS без необязательной части TO удаляет все файлы бинарных логов, указанные в индексном файле, сбрасывает индексный файл бинарных логов в пустое состояние и создаёт новый файл бинарного лога, начиная с 1. Используйте необязательную часть TO, чтобы начать индекс файла бинарного лога с номера, отличного от 1 после сброса.
Убедитесь, что вы используете разумное значение для номера индекса. Если вы введёте некорректное значение, вы можете исправить это, выполнив другую команду RESET BINARY LOGS AND GTIDS с или без необязательной части TO. Если вы не исправите значение, выходящее за пределы диапазона, сервер нельзя будет перезапустить.
Следующий пример демонстрирует использование необязательной части TO:
RESET BINARY LOGS AND GTIDS TO 1234;
SHOW BINARY LOGS;
+-------------------+-----------+-----------+
| Log_name | File_size | Encrypted |
+-------------------+-----------+-----------+
| source-bin.001234 | 154 | No |
+-------------------+-----------+-----------+
Эффекты команды RESET BINARY LOGS AND GTIDS без необязательной части TO отличаются от эффектов команды PURGE BINARY LOGS по 2 ключевым аспектам:
Команда
RESET BINARY LOGS AND GTIDSудаляет все файлы бинарных логов, указанные в индексном файле, оставляя только один пустой файл бинарного лога с числовым суффиксом.000001, в то время как нумерация не сбрасывается командойPURGE BINARY LOGS.Команда
RESET BINARY LOGS AND GTIDSне предназначена для использования во время работы реплик. Поведение командыRESET BINARY LOGS AND GTIDSпри использовании во время работы реплик не определено (и поэтому не поддерживается), в то время какPURGE BINARY LOGSможет безопасно использоваться во время работы реплик.
См. также Раздел 15.4.1.1, «Команда PURGE BINARY LOGS».
Команда RESET BINARY LOGS AND GTIDS без необязательной части TO может быть полезной при первоначальной настройке источника и реплики, чтобы проверить настройку следующим образом:
Запустите источник и реплику и начните репликацию (см. Раздел 19.1.2, «Настройка репликации, основанной на позиции файла бинарного журнала»).
Выполните несколько тестовых запросов на источнике.
Проверьте, что запросы были реплицированы на реплике.
Когда репликация работает правильно, выполните
STOP REPLICA, за которым следуетRESET REPLICA(оба на реплике), затем проверьте, что на реплике нет нежелательных данных из тестовых запросов. После этого выполнитеRESET BINARY LOGS AND GTIDS(также на реплике), чтобы удалить бинарные логи и связанные с ними идентификаторы транзакций.Удалите нежелательные данные из источника, затем выполните
RESET BINARY LOGS AND GTIDS, чтобы очистить любые записи бинарного журнала и идентификаторы, связанные с ними.
После проверки настройки, сброса источника и реплики и убедившись, что на источнике и реплике не осталось нежелательных данных или файлов бинарных логов, сгенерированных во время тестирования, вы можете запустить реплику и начать репликацию.
© 2025 Oracle
Licensed under the GPLv2 License.