Требования: Жёсткий диск сервера переполнен, и почти все они вызваны заполненностью MySQL binlog. Как безопасно очистить и удалить файлы бинлога?
Обзор:
Место на диске сервера заполнено, и выясняется, что журнал MySQL занят, как показано на рисунке ниже:
binlog — это двоичный лог, поддерживаемый слоем Mysql sever, который полностью отличается от log redo/undo в движке INODB. Он в основном используется для записи SQL-операторов, которые обновляют или потенциально обновляют данные mysql, записывают все операторы DDL и DML (кроме операторов запроса данных), сохраняют их в виде транзакций на диске, а также содержат время, затраченное на выполнение операторов.
Войдите в базу данных MySQL и выполните следующую команду, чтобы увидеть текущий список binlog-файлов:
Очищайте файлы бинлога, чтобы освободить место, очищайте указанные файлы бинлога и очищайте все файлы бинлога с помощью следующих команд:
Хотя эта проблема решена, она всё ещё может возникнуть в будущем, и нам нужно её настроитьexpire_logs_daysАвтоматически очищать исторические файлы бинлога, сохраняя только их в течение определённого времени.
Используйте mysql --help | Команда GREP CNF выполните запрос к конфигурационному файлу, как показано на следующем изображении:
Запрос конфигураций, связанных с binlog, через командную строку:
пересматривать/etc/my.cnfКонфигурация следующая:
Затем перезапустите сервис mysqld с помощью следующей команды:
(Конец)
|