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

5.2.3. Общий Журнал запросов

Общий журнал запросов является общей записью того, что делает mysqld. Информация о записях сервера к этому журналу, когда клиенты соединяются или разъединяются, и это регистрирует каждый SQL-оператор, полученный от клиентов. Общий журнал запросов может быть очень полезным, когда Вы подозреваете ошибку в клиенте и хотите знать точно что клиент, отправленный mysqld.

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

По умолчанию общий журнал запросов отключается. Чтобы определить начальное общее состояние журнала запросов явно, использовать --general_log[={0|1}]. Без параметра или параметра 1, --general_log включает журналу. С параметром 0, эта опция отключает журнал. Чтобы определить имя файла журнала, использовать --general_log_file=file_name. Чтобы определить место назначения журнала, использовать --log-output (как описано в Разделе 5.2.1, "Выбирая Общий Запрос и Замедляют Выходные Места назначения Журнала запросов").

Если Вы не определяете имени для общего файла журнала запросов, имя по умолчанию host_name.log. Сервер создает файл в каталоге данных, если абсолютный путь не дается, чтобы определить различный каталог.

Чтобы отключить или включить общему журналу запросов или изменить название файла журнала во времени выполнения, используйте глобальную переменную general_log и general_log_file системные переменные. Набор general_log к 0 (или OFF) отключить журнал или к 1 (или ON) включать этому. Набор general_log_file определить имя файла журнала. Если файл журнала уже открыт, он закрывается, и новый файл открывается.

Когда общий журнал запросов включается, вывод записей сервера любым местам назначения, определенным --log-output опция или log_output системная переменная. Если Вы включаете журналу, сервер открывает файл журнала и пишет сообщения запуска в него. Однако, далее журналирование запросов к файлу не происходит если FILE место назначения журнала выбирается. Если место назначения NONE, сервер не пишет запросов, даже если общий журнал включается. Определение имени файла журнала не имеет никакого эффекта на журналирование, если целевое значение журнала не содержит FILE.

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

shell> mv host_name.log host_name-old.logshell> mysqladmin flush-logsshell> mv
        host_name-old.log backup-directory

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

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

SET GLOBAL general_log = 'OFF';

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

SET GLOBAL general_log = 'ON';

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

Сеанс sql_log_off переменная может быть установлена в ON или OFF отключить или включить общему журналированию запроса для текущего соединения.

Пароли в операторах, записанных общему журналу запросов, переписываются сервером, чтобы не произойти буквально в простом тексте. Перезапись пароля может быть подавлена для общего журнала запросов, запуская сервер с --log-raw опция. Эта опция может быть полезной в диагностических целях, чтобы видеть, что точный текст операторов как получено сервером, но для соображений безопасности не рекомендуется для производственного использования. См. также Раздел 6.1.2.3, "Пароли и Журналирование".