В MySQL предусмотрено наличие нескольких файлов журналов, позволяющих следить за всеми аспектами работы системы (see Раздел 4.9, «Файлы журналов MySQL»). Правда, иногда приходится проверять, не занимают ли журналы лишнего места, и удалять ненужные.
При работе с журналами MySQL, вам, вероятнее всего, понадобится удалять их или создавать их резервные копии, и указывать MySQL записывать данные журналов в новые файлы (see Раздел 4.4.1, «Резервное копирование баз данных»).
В системе Linux (Red Hat
) для этого можно использовать сценарий
mysql-log-rotate
. При установке MySQL с дистрибутива RPM этот сценарий
устанавливается автоматически. Обратите внимание: использовать журнал для
репликации необходимо с максимальной аккуратностью!
В других ОС вы можете самостоятельно создать небольшой сценарий для
обработки журналов, запускаемый из cron
.
Заставить MySQL создать новый файл журнала можно с помощью команды
mysqladmin flush-logs
или SQL-команды FLUSH LOGS
. При работе с MySQL
версии 3.21 пользоваться можно только командой mysqladmin refresh
.
Эта команда выполняет следующие действия:
Если используется стандартный журнал (
--log
) или журнал медленных запросов (--log-slow-queries
), файл журнала (mysql.log
и`hostname`-slow.log
по умолчанию) закрывается и открывается вновь.Если используется журнал обновлений (
--log-update
), файл журнала закрывается, после чего создается новый файл с большим номером.
При использовании одного журнала обновлений нужно очистить журналы и перенести их старые файлы в резервную копию. При использовании обычной процедуры ведения журналов для этого нужно выполнить примерно следующую последовательность команд:
shell> cd mysql-data-directory shell> mv mysql.log mysql.old shell> mysqladmin flush-logs
а затем сделать резервную копию файла mysql.old
и удалить его.