Spec-Zone .ru
спецификации, руководства, описания, API

5.2.6. Обслуживание Журнала сервера

Как описано в Разделе 5.2, "MySQL Server Logs", MySQL Server может создать несколько различных файлов журнала, чтобы помочь Вам видеть, какое действие имеет место. Однако, следует очистить эти файлы регулярно, чтобы гарантировать, что журналы не приводят слишком большое дисковое пространство в рабочее состояние.

При использовании MySQL с журналированием включенного, можно хотеть поддержать и удалить старые файлы журнала время от времени и сказать MySQL начинать регистрировать к новым файлам. См. Раздел 7.2, "Методы Резервного копирования базы данных".

На Linux (Red Hat) установка можно использовать mysql-log-rotate сценарий для этого. Если Вы устанавливали MySQL от распределения ОБ/МИН, этот сценарий должен был быть установлен автоматически. Будьте осторожны с этим сценарием, если Вы используете двоичный журнал для репликации. Недопустимо удалить двоичные журналы, пока Вы не уверены, что их содержание было обработано всеми ведомыми устройствами.

На других системах следует установить короткий сценарий самостоятельно, что Вы запускаете с cron (или его эквивалент) для того, чтобы обработать файлы журнала.

Для двоичного журнала можно установить expire_logs_days системная переменная, чтобы истечь двоичные файлы журнала автоматически после данного числа дней (см. Раздел 5.1.4, "Системные Переменные Сервера"). Если Вы используете репликацию, следует установить переменную не ниже чем максимальное количество дней, Ваши ведомые устройства могли бы отстать от ведущего устройства. Чтобы удалить двоичные журналы по требованию, используйте PURGE BINARY LOGS оператор (см. Раздел 13.4.1.1,"PURGE BINARY LOGS Синтаксис").

Можно вынудить MySQL начать использовать новые файлы журнала, сбрасывая журналы. Сбрасывание журнала происходит когда Вы проблема a FLUSH LOGS оператор или выполняет mysqladmin журналы сброса, mysqladmin обновление, mysqldump - журналы сброса, или mysqldump - команда основных данных. См. Раздел 13.7.6.3,"FLUSH Синтаксис", Раздел 4.5.2, "mysqladmin — Клиент для Администрирования MySQL Server", и Раздела 4.5.4, "mysqldump — Программа Резервного копирования базы данных" . Кроме того, двоичный журнал сбрасывается, когда его размер достигает значения max_binlog_size системная переменная.

FLUSH LOGS поддерживает дополнительные модификаторы, чтобы включить выборочному сбрасыванию отдельных журналов (например, FLUSH BINARY LOGS).

Сбрасывающая журнал работа делает следующее:

Сервер создает новый двоичный файл журнала, когда Вы сбрасываете журналы. Однако, это только закрывает и вновь открывает общие и медленные файлы журнала запросов. Чтобы заставить новые файлы создаваться на Unix, переименуйте текущие файлы журнала прежде, чем сбросить их. Во время сброса сервер открывает новые файлы журнала с настоящими именами. Например, если общие и медленные файлы журнала запросов называют mysql.log и mysql-slow.log, можно использовать ряд команд как это:

shell> cd mysql-data-directoryshell> mv mysql.log mysql.oldshell> mv
        mysql-slow.log mysql-slow.oldshell> mysqladmin
        flush-logs

На Windows использование переименовывает, а не милливольт.

В этой точке можно сделать резервное копирование mysql.old и mysql-slow.old и затем удалите их из диска.

Подобная стратегия может использоваться, чтобы поддержать файл журнала ошибок, если есть тот.

Можно переименовать общий журнал запросов или замедлить журнал запросов во времени выполнения, отключая журнал:

SET GLOBAL general_log = 'OFF';SET GLOBAL slow_query_log = 'OFF';

С отключенными журналами переименуйте файлы журнала внешне; например, из командной строки. Затем включите журналам снова:

SET GLOBAL general_log = 'ON';SET GLOBAL slow_query_log = 'ON';

Этот метод работает над любой платформой и не требует перезапуска сервера.