Поиск…


Список

  • Общий журнал - все запросы - см. VARIABLE general_log
  • Медленный журнал - запросы медленнее, чем long_query_time - slow_query_log_file
  • Binlog - для репликации и резервного копирования - log_bin_basename
  • Журнал ретрансляции - также для репликации
  • общие ошибки - mysqld.err
  • start / stop - mysql.log (не очень интересно) - log_error
  • Журнал изменений InnoDB - iblog *

См. Переменные basedir и datadir для местоположения по умолчанию для многих журналов

Некоторые журналы включаются и выключаются другими ПЕРЕМЕННЫМИ. Некоторые из них либо записываются в файл, либо в таблицу.

(Примечание для рецензентов: для этого требуется более подробная информация и пояснения.)

Документаторы : укажите расположение и имя по умолчанию для каждого типа журнала, как для Windows, так и для * nix. (Или, по крайней мере, столько, сколько сможете).

Медленный журнал запросов

Журнал медленных запросов состоит из журнальных событий для запросов, long_query_time до long_query_time . Например, до 10 секунд для завершения. Чтобы увидеть установленный порог времени, выполните следующие действия:

SELECT @@long_query_time;
+-------------------+
| @@long_query_time |
+-------------------+
|         10.000000 |
+-------------------+

Его можно установить как переменную GLOBAL в файле my.cnf или my.ini . Или это может быть установлено связью, хотя это необычно. Значение может быть установлено в диапазоне от 0 до 10 (в секундах). Какую ценность использовать?

  • 10 настолько высока, что почти бесполезна;
  • 2 - компромисс;
  • 0,5 и другие фракции;
  • 0 захватывает все; это может залить диск опасно быстро, но может быть очень полезно.

Захват медленных запросов включается или выключается. И указанный файл также указан. Ниже приведены следующие понятия:

SELECT @@slow_query_log; -- Is capture currently active? (1=On, 0=Off)
SELECT @@slow_query_log_file; -- filename for capture. Resides in datadir
SELECT @@datadir; -- to see current value of the location for capture file

SET GLOBAL slow_query_log=0; -- Turn Off
-- make a backup of the Slow Query Log capture file. Then delete it.
SET GLOBAL slow_query_log=1; -- Turn it back On (new empty file is created)

Для получения дополнительной информации см. Страницу руководства MySQL. Журнал медленных запросов

Примечание: приведенная выше информация о включении / выключении замедления была изменена в 5.6 (?); у старой версии был другой механизм.

«Лучший» способ увидеть, что замедляет вашу систему:

long_query_time=...
turn on the slowlog
run for a few hours
turn off the slowlog (or raise the cutoff)
run pt-query-digest to find the 'worst' couple of queries.  Or mysqldumpslow -s t

Общий журнал запросов

Общий журнал запросов содержит листинг общей информации от клиентских подключений, разъединений и запросов. Это бесценно для отладки, но это создает препятствия для работы (цитата?).

Пример просмотра общего журнала запросов приведен ниже:

введите описание изображения здесь

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

SELECT @@general_log; -- 1 = Capture is active; 0 = It is not.

Чтобы определить имя файла захвата:

SELECT @@general_log_file; -- Full path to capture file

Если полный путь к файлу не отображается, файл существует в datadir .

Пример Windows:

+----------------------------------------------------------+
| @@general_log_file                                       |
+----------------------------------------------------------+
| C:\ProgramData\MySQL\MySQL Server 5.7\Data\GuySmiley.log |
+----------------------------------------------------------+

Linux:

+-----------------------------------+
| @@general_log_file                |
+-----------------------------------+
| /var/lib/mysql/ip-ww-xx-yy-zz.log |
+-----------------------------------+

Когда изменяются переменные GLOBAL general_log_file , новый журнал сохраняется в datadir . Однако полный путь больше не может быть отражен путем изучения переменной.

В случае отсутствия записи для файла general_log_file в файле конфигурации по умолчанию будет @@hostname .log в datadir .

Лучшая практика - отключить захват. Сохраните файл журнала в резервном каталоге с именем файла, отражающим дату и время начала и окончания захвата. Удаление предыдущего файла, если перемещение файловой системы не произошло из этого файла. Установите новое имя файла для файла журнала и включите захват (все показано ниже). Лучшие практики также включают тщательное определение, даже если вы хотите захватить на данный момент. Как правило, захват включен только для целей отладки.

Типичным именем файла файловой системы для резервного архива может быть:

/LogBackup/GeneralLog_20160802_1520_to_20160802_1815.log

где дата и время являются частью имени файла как диапазона.

Для Windows обратите внимание на следующую последовательность изменений настроек.

SELECT @@general_log; -- 0. Not being captured
SELECT @@general_log_file; -- C:\ProgramData\MySQL\MySQL Server 5.6\Data\GuySmiley.log
SELECT @@datadir; -- C:\ProgramData\MySQL\MySQL Server 5.7\Data\
SET GLOBAL general_log_file='GeneralLogBegin_20160803_1420.log'; -- datetime clue
SET GLOBAL general_log=1; -- Turns on actual log capture. File is created under `datadir`
SET GLOBAL general_log=0; -- Turn logging off

Linux похож. Они будут представлять собой динамические изменения. Любой перезапуск сервера подбирает настройки файла конфигурации.

Что касается файла конфигурации, рассмотрите следующие соответствующие параметры переменной:

[mysqld]
general_log_file = /path/to/currentquery.log
general_log      = 1

Кроме того, переменную log_output можно настроить для вывода TABLE , а не только FILE . Для этого, пожалуйста, см. « Направления» .

См. Страницу руководства MySQL . Общий журнал запросов .

Журнал ошибок

Журнал ошибок заполняется информацией о запуске и остановке и критическими событиями, встречающимися на сервере.

Ниже приведен пример его содержимого:

введите описание изображения здесь

Переменная log_error содержит путь к файлу журнала для регистрации ошибок.

В отсутствие записи файла конфигурации для log_error система будет по умолчанию использовать значения @@hostname .err в datadir . Обратите внимание, что log_error не является динамической переменной. Таким образом, изменения выполняются с помощью изменений файла cnf или ini и перезапуска сервера (или путем просмотра «Промывка и переименование файла журнала ошибок» на странице «Ручная страница» внизу).

Журналы не могут быть отключены для ошибок. Они важны для здоровья системы при устранении неполадок. Кроме того, записи нечасты по сравнению с общим журналом запросов.

GLOBAL-переменная log_warnings устанавливает уровень для многословия, который зависит от версии сервера. Следующий фрагмент иллюстрирует:

SELECT @@log_warnings; -- make a note of your prior setting
SET GLOBAL log_warnings=2; -- setting above 1 increases output (see server version)

log_warnings как показано выше, является динамической переменной.

Изменения файла конфигурации в файлах cnf и ini могут выглядеть следующим образом.

[mysqld]
log_error        = /path/to/CurrentError.log
log_warnings     = 2

MySQL 5.7.2 расширил многословие уровня предупреждения до 3 и добавил GLOBAL log_error_verbosity . Опять же, оно было введено в 5.7.2. Он может быть установлен динамически и проверен как переменная или задан с помощью настроек файла конфигурации cnf или ini .

Начиная с MySQL 5.7.2:

[mysqld]
log_error           = /path/to/CurrentError.log
log_warnings        = 2
log_error_verbosity = 3 

Пожалуйста, обратитесь к странице руководства по MySQL, озаглавленной « Журнал ошибок», особенно для флеширования и переименования файла журнала ошибок, а также в разделе « Подробный журнал ошибок » с версиями, связанными с log_warnings и error_log_verbosity .



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow