Конфиг mysql расположен тут /etc/my.cnf или тут /etc/mysql/my.cnf
Не забываем про поиск:
1 |
# locate my.cnf |
После внесения изменения необходим перезапуск mysql.
Где находятся логи mysql?
В данном описании используются стандартные директории для CentOS. В ОС Debian (Ubuntu) логи mysql расположены в следующих директориях:
1 2 3 4 5 6 7 8 |
#Лог ошибок /var/log/syslog #Лог запросов /var/log/mysql/mysql.log #Лог медленных запросов /var/log/mysql/mysql-slow.log |
Лог запросов
В данном журнале содержится информация о подключениях клиентов и все полученные от них SQL-запросы.
1 2 3 4 |
general_log_file = /var/log/mysql/mysql.log general_log = 1 # general_log_file - расположение файла, general_log - включение данного лога |
Ещё один способ включения/выключения general_log без перезагрузки сервера:
1 2 3 |
SET GLOBAL general_log = 'ON'; SET GLOBAL general_log = 'OFF'; |
Лог ошибок
1 |
log_error=/var/log/mysql/mysql_error.log |
log_error пишет время остановки/включения сервера, критические ошибки и предупреждения. Содержит все ошибки, которые произошли за время работы MySQL сервера.
Подробнее кодах ошибок MySQLможно узнать по ссылке. Краткое описание ошибки MySQL можно узнать при помощи утилиты perror, пример использования
1 2 3 4 |
[alex123 /]# perror 18 32 94 OS error code 18: Invalid cross-device link OS error code 32: Broken pipe OS error code 94: Socket type not supported |
Бинарный лог
В этот лог записываются все команды изменения базы данных.
Как включить бинарный лог?
Для это следует добавить в конфиг следующие строки:
1 2 3 4 5 |
log_bin = /var/log/mysql/mysql-bin.log #срок жизни expire_logs_days = 5 #размер max_binlog_size = 450M |
Включение данного режима потребляет много ресурсов и значительно снижает производительность системы.
Лог медленных запросов
С помощью этого лога можно найти неэффективные запросы, которые занимают много ресурсов на выполнение.
1 2 3 |
slow_query_log=1 slow_query_log_file=/var/log/mysql-slow-queries.log #включение лога и расположение файла |
Для включения медленных вопросов важна ещё одна опция:
1 |
long_query_time = 1 |
с её помощью определяется максимальное время выполнения запроса (в секундах), после чего запрос считается медленным и заносится в лог.
Иногда после включения лога медленных запросов и перезапуска mysql файл не создаётся автоматически, поэтому лучше выполнить следующие действия:
1 2 |
touch /var/log/mysql_slow_queries.log chown -R mysql:mysql /var/log/mysql_slow_queries.log |
DDL Log
Лог языка описания данных используется для восстановления после сбоев, которые произошли при проведении операций DROP_TABLE или ALTER_TABLE. Лог ведётся в виде бинарного файла. Подробнее — в официальной документации.
Полезные ссылки
Примеры конфигов mysql для разных конфигураций доступны тут
Описание основных опций конфигурации mysql можно посмотреть тут.
Свежие комментарии