Логи MySQL Ubuntu
- Подробности
- Категория: Базы данных
- Просмотров: 215
Если есть какие-то вопросы к MySQL в Ubuntu, то нужно смотреть логи
Как это делается...
Для начала нужно понять, что есть 3 журнала:
log_error для журнала сообщений об ошибках;
general_log_file для общего файла журнала запросов (если включено general_log);
slow_query_log_file для файла журнала медленных запросов (если включено slow_query_log);
Соответственно, эти опции можно включить на время, но не оставлять на всегда, потому что они жрут ресурсы.
Для начала мы должно понять, а включены ли они у нас:
в терминале вводим:
mysql -se "SHOW VARIABLES" | grep -e log_error -e general_log -e slow_query_log
Чтобы узнать путь к журналу ошибок:
mysql -se "SHOW VARIABLES" | grep -e log_error -e general_log -e slow_query_log
mysql -e "SELECT @@GLOBAL.log_error"
Чтобы узнать ошибки MySQL в реальном времени файлы эти читаем:
sudo tail -f $(mysql -Nse "SELECT @@GLOBAL.log_error")
Настройка логирования БД
Перейдите в файл mysql conf (/etc/mysql/my.cnf) и добавьте следующие строки
Чтобы включить журнал ошибок, добавьте следующее
[mysqld_safe]
log_error=/var/log/mysql/mysql_error.log
[mysqld]
log_error=/var/log/mysql/mysql_error.log
Чтобы включить общий журнал запросов, добавьте следующее
general_log_file = /var/log/mysql/mysql.log
general_log = 1
Чтобы включить медленный журнал запросов, добавьте следующее
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 2
log-queries-not-using-indexes
Сохраните файл и перезапустите mysql, используя следующие команды
service mysql restart
Чтобы включить ведение журнала во время выполнения, войдите в клиент mysql (mysql -u root -p) и укажите:
SET GLOBAL general_log = 'ON';
SET GLOBAL slow_query_log = 'ON';
Наконец, одна вещь, которую я хотел бы упомянуть здесь, это то, что я прочитал это в блоге. Спасибо. У меня это работает.