Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / MySQL / Администрирование баз данных /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Файлы журналов MySQL - Программирование от RIN.RU
Файлы журналов MySQL



Журнал медленных запросов


При запуске с параметром --log-slow-queries[=file_name] mysqld создает файл журнала, в котором сохраняются данные обо всех командах SQL, на выполнение которых ушло больше времени, чем указано в значении параметра long_query_time. Время, уходящее на первоначальную блокировку таблиц, не включается во время исполнения запроса.


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


Если имя файла не задано, по умолчанию ему дается имя хоста с окончанием -slow.log. Если файлу присвоено имя, не содержащее пути доступа к нему, этот файл сохраняется в каталоге с данными.


Этот журнал позволяет определить запросы, на выполнение которых ушло слишком много времени, а, значит, и обнаружить основных кандидатов на оптимизацию. Конечно, при достижении журналом значительного объема эта задача усложняется. В таком случае журнал можно пропустить через команду mysqldumpslow и получить краткий отчет о запросах, попавших в список.


При использовании ключа --log-long-format на экран выводятся и запросы, не работающие с индексами (см. раздел Параметры командной строки mysqld).


Обслуживание файлов журналов


В MySQL предусмотрено наличие нескольких файлов журналов, позволяющих следить за всеми аспектами работы системы (см. раздел Файлы журналов MySQL). Правда, иногда приходится проверять, не занимают ли журналы
лишнего места, и удалять ненужные.


При работе с журналами MySQL, вам, вероятнее всего, понадобится удалять их или создавать их резервные копии, и указывать MySQL записывать данные журналов в новые файлы (см. раздел Резервное копирование баз данных).


В системе Linux (Redhat) для этого можно использовать сценарий 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 и удалить его.

<<<  Назад
 1  2  3 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Конфигурирование MySQL

Общие проблемы безопасности и система привилегий доступа MySQL

Управление учетными записями пользователей MySQL

Предотвращение катастроф и восстановление

Справочник по языку администрирования баз данных

Локализация MySQL и использование национальных алфавитов

Серверные сценарии и утилиты MySQL

Клиентские сценарии и утилиты MySQL

Репликация в MySQL

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь