Перейти к содержимому

Где хранятся логи mysql

  • автор:

ubuntu linux Где лежат логи MySQL — журнал ошибок

vedro-compota's picture

На линуксе узнать, где лежит файл лога ошибок можно такой командой:

mysql -u root -p -e "SHOW VARIABLES;" | grep 'log_error'

Подробнее о конфигурации читайте тут.

Key Words for FKN + antitotal forum (CS VSU):

  • ubuntu where is mysql log. log
  • mySQL

Отладка и логирование MySQL запросов

Почему удобно включать логирование с помощью MySQL команд:

  1. Не нужно дергать файл конфига MySQL /etc/mysql/my.cnf;
  2. После рестарта сервера — лог выключается.

Посмотреть включено ли логирование:

SELECT @@GLOBAL.general_log
SHOW GLOBAL VARIABLES LIKE '%log%';
SHOW GLOBAL VARIABLES WHERE Variable_name in ('version', 'log', 'general_log', 'general_log_file', 'log_output');

Включить/выключить логирование (1 — включить, 0 — выключить):

SET GLOBAL general_log = 1;

Логировать запросы в таблицу mysql.general_log:

SET GLOBAL general_log = 1; SET GLOBAL log_output = 'TABLE'; 

Посмотреть логи запросов в таблице:

SELECT * FROM mysql.general_log;

Логировать запросы в файл /var/log/mysql.log (этот тип логирования включён по умолчанию):

SET GLOBAL log_output = 'FILE'; SET GLOBAL general_log_file = '/var/log/mysql.log';
Примечание

Файл не нужно создавать предварительно, но нужно дать права на запись в этот каталог!

По умолчанию лог-файл запросов: /var/lib/mysql/%USERNAME%log.

Включаем логирование SQL запросов в файл:

SET GLOBAL log_output = 'FILE'; SET GLOBAL general_log_file='dev-sql.log'; 
Внимание!

Глобальная системная переменная general_log_file содержит имя файла, а не полный путь к нему. Этот файл будет создан в каталоге /var/lib/mysql/ и по умолчанию именуется как hostname>.log.

Примечание

Для просмотра значения глобальной системной переменной general_log_file — выполните запрос:

SHOW VARIABLES LIKE 'general_log_file';

Можно включить логирование и в таблицу, и в файл:

SET GLOBAL log_output = 'TABLE,FILE';

Для отключения лога:

SET GLOBAL log_output = 'NONE';

Пример включения логирования из PHP-скрипта и просмотр логов:

mysql_query("SET GLOBAL log_output = 'FILE'"); mysql_query("SET GLOBAL general_log_file = '/home/stas/tmp/mysql.project.log'"); mysql_query("SET GLOBAL general_log = 1"); // здесь выполняем SQL запрос mysql_query("SET GLOBAL general_log = 0"); mysql_query("SET GLOBAL log_output = 'TABLE'");

Включить постоянное логирование (требует рестарт сервера):

[mysqld] log = /var/log/mysql/mysql.log

Vesta Control Panel — Forum

Добрый день скажите где можно посмотреть логи ошибок mysql, как то не задумывался раньше а сейчас ошибки посыпались Error while sending QUERY packet. PID=16439, хотя посетителей совсем мало, только парсер Vk api работает, не думаю что проблема в самом сервере, при таких нагрузках. Спасибо за помощь

gecube_ru Posts: 141 Joined: Thu Jun 22, 2017 1:21 pm

Re: подскажите где хранятся логи ошибок

Post by gecube_ru » Fri Jul 28, 2017 10:09 am

Операционная система какая?

Где хранятся логи mysql

Статья содержит краткое описание журналов работы сервера MySQL — журнал ошибок, общий журнал запросов, журнал медленных запросов, двоичные журналы

Все журналы связанные с работой сервера MySQL по умолчанию находятся в папке data корневой папки MySQL (той паки куда был установлен MySQL).

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

Представляет файл с расширением .err. В качестве имени файла берется hostname (hostname.err). Содержит информацию об ошибках в работе, запусках и остановках сервера. Данные хранятся в текстовом виде, поэтому их можно посмотреть любым текстовым редактором.

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

Представляет файл с расширением .log. В качестве имени файла берется hostname (hostname.log). Содержит информацию о подключениях клиентских программ и выполняемых запросах. Для ведения этих журналов сервер должен быть запущен с параметром – log. Данные хранятся в текстовом виде, поэтому их можно посмотреть любым текстовым редактором.

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

Представляет файл с именем hostname-show.log. Содержит информацию об длительных АО времени SQL-запросах (по умолчанию – более 10 с), служит для обнаружения объектов, требующих оптимизации. Для ведения этих журналов сервер должен быть запущен с параметром – log-slow-queries. Данные хранятся в текстовом виде, поэтому их можно посмотреть любым текстовым редактором.

Двоичные журналы MySQL

Представляет файл с именем hostname-bin.xxxxxx, где xxxxxx – порядковый номер журнала. Содержат историю изменений данных в базе. Для ведения этих журналов сервер должен быть запущен с параметром – log-bin. Для просмотра двоичных журналов необходимо использовать специальную утилиту mysqlbinlog (запускается из командной строки)

mysqlbinlog hostname-bin.xxxxxx — Выведет содержимое в виде SQL-команд.

mysqlbinlog hostname-bin.xxxxxx filename – Запишет содержимое в виде SQL-команд в файл, который можно посмотреть любым текстовым редактором.

На этом все, всем пока.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *