PURGE BINARY LOGS
Оператор удаляет все бинарные файлы журналов , перечисленные в индексном файле журнала до указанного имени файла журнала или временную метку. Удаленные файлы журнала также удаляются из списка, записанного в индексном файле, так что данный файл журнала становится первым в списке.
Я надеюсь, что вы удалили двоичные журналы mysql-bin.000019
с помощью команды
PURGE BINARY LOGS TO 'mysql-bin.000019';
Если вам нужно очистить все журналы, как
PURGE BINARY LOGS TO 'mysql-bin.000025';
Это удалит двоичные журналы до mysql-bin.000025
.
ОБНОВИТЬ
Можешь попробовать
RESET MASTER;
RESET MASTER
Удаляет все двоичные файлы журнала, перечисленные в файле индекса, сбрасывает двоичный файл журнала журнала, чтобы быть пустым, и создает новый двоичный файл журнала
Эффект RESET MASTER
от PURGE BINARY LOGS отличается от двух основных:
RESET MASTER
удаляет все двоичные файлы журнала, перечисленные в файле индекса, оставляя только один пустой двоичный файл журнала с числовым суффиксом .000001, тогда как нумерация не сбрасывается с помощью PURGE BINARY LOGS.
RESET MASTER
не предназначался для использования во время работы любых подчиненных устройств репликации. Поведение RESET MASTER
при использовании во время работы ведомых устройств не определено (и, следовательно, не поддерживается), тогда как PURGE BINARY LOGS
может безопасно использоваться во время работы ведомых устройств репликации.
CAVEAT от RolandoMySQLDBA
Если вы работаете RESET MASTER
с подключенными и работающими подчиненными, поток ввода-вывода каждого подчиненного немедленно теряет свое место. Репликация, таким образом, нарушена, и вам придется потратить время на повторную синхронизацию данных на всех подчиненных устройствах. Если вы хотите безопасно удалить двоичные журналы с мастера, не нарушая целостность репликации, вот что вы делаете:
- Беги
SHOW SLAVE STATUS\G
на каждого Раба.
- Принять к сведению
Relay_Master_Log_File
. Это двоичный журнал, последний оператор которого был успешно выполнен в подчиненном).
- Из всех отображений
SHOW SLAVE STATUS\G
определите, какой из Relay_Master_Log_File
них самый старый (например, «mysql-bin.00123»).
- Вы можете запустить
PURGE BINARY LOGS TO 'mysql-bin.00123';
Ни один из Рабов не потеряет свое место.
Общий эффект? Это оставит двоичные журналы на ведущем устройстве, чьи операторы еще не были выполнены на всех подчиненных устройствах.