Spec-Zone .ru
спецификации, руководства, описания, API
|
Общий журнал запросов является общей записью того, что делает 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
shell>host_name
.loghost_name
-old.logmysqladmin flush-logs
shell>mv
host_name
-old.logbackup-directory
На Windows использование переименовывает, а не милливольт.
Можно также переименовать общий файл журнала запросов во времени выполнения, отключая журнал:
SET GLOBAL general_log = 'OFF';
С отключенным журналом переименуйте файл журнала внешне; например, из командной строки. Затем включите журналу снова:
SET GLOBAL general_log = 'ON';
Этот метод работает над любой платформой и не требует перезапуска сервера.
Сеанс sql_log_off
переменная может быть установлена в ON
или OFF
отключить или включить общему журналированию запроса для текущего
соединения.
С MySQL 5.6.3 пароли в операторах, записанных общему журналу запросов, переписываются сервером, чтобы не
произойти буквально в простом тексте. Перезапись пароля может быть подавлена для общего журнала запросов,
запуская сервер с --log-raw
опция. Эта опция может быть полезной в диагностических целях, чтобы видеть, что точный текст операторов как
получено сервером, но для соображений безопасности не рекомендуется для производственного использования.
Перед MySQL 5.6.3 не переписываются пароли в операторах, и общий журнал запросов должен быть защищен. См. Раздел 6.1.2.3, "Пароли и Журналирование".