Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

MySQL: как включить ведение журнала (лога) запросов в базе данных MySQL сервера? кратко

Практика



Задача: включить ведение логов (журнала) запросов, кладя их (логи) в системную базу данных самого сервера MySQL. Т.е. писаться будут все запросы, проходящие через этот сервер СУБД.

Ведение журнала (лога) запросов в базе данных MySQL сервера является важным аспектом администрирования и мониторинга баз данных. Это позволяет записывать и анализировать запросы, выполняемые в базе данных, и может быть полезным для различных целей:

  1. Отладка и поиск ошибок: Ведение лога запросов помогает выявлять и исправлять ошибки в SQL-запросах. Если запросы выдают нежелательные результаты или приводят к проблемам с производительностью, логи могут помочь определить, где возникла проблема.

  2. Оптимизация производительности: Анализ логов запросов может помочь оптимизировать производительность базы данных. Вы можете выявить медленные запросы и попытаться улучшить их выполнение, например, добавив индексы или переписав запросы.

  3. Мониторинг активности: Журнал запросов позволяет отслеживать активность пользователей в базе данных. Это полезно для обнаружения несанкционированного доступа или неправомерных действий.

  4. Анализ безопасности: С помощью логов можно выявить попытки взлома или несанкционированный доступ к базе данных. Это помогает обеспечивать безопасность данных.

  5. Аудит и соблюдение требований: В некоторых случаях, особенно в корпоративной среде, ведение логов запросов обязательно для соблюдения требований законодательства или стандартов безопасности.

Перед изменением вы можите посмотреть перечисленные ниже переменные для того чтобы понять включены ли уже логи?

MySQL: как включить ведение журнала (лога) запросов в базе данных MySQL сервера?

Для решения подобных задач открываем файл my.cnf сервера MySQL и вносим в конец секции [mysqld] следующие изменения::

  1. Например, вы можете использовать параметр general_log для включения общего лога запросов или slow_query_log для логирования медленных запросов.

...
# Вести лог "долгих" запросов в базе slow-log
slow-query-log

# Выводить лог в базу данных
log_output = TABLE

# Время (в секундах), которое должен длиться запрос, чтобы считаться "долгим"
long_query_time = 1

# Вести лог записей в журнале general-log
general-log

# Подтирать логи за (дней) - т.е. автоматически ротировать таблицу логов
expire_logs_days = 1
  1. Установите путь и имя файла лога: Выберите место и имя файла, в котором будут храниться логи запросов. Укажите этот путь и имя в конфигурационном файле.

  2. Перезапустите сервер: После внесения изменений в конфигурацию, перезапустите MySQL сервер, чтобы активировать логирование.

  3. Мониторинг и анализ: После включения логирования запросов, следите за логами, анализируйте их и предпринимайте необходимые действия на основе полученных данных.

  4. Как смотреть эти лолги?

    Логи по конфигу выше хранятся в 2х таблицах системной базы данных MySQL.

    Просмотреть общий журнал можно командой:

    mysql> SELECT * FROM mysql.general_log ORDER BY event_time DESC;

    А из журнала "тяжелых" запросов:

    mysql> SELECT * FROM mysql.slow_log ORDER BY event_time DESC;

  5. так же можно сделать чтобы логи записывались в файл

Учитывая, что логи могут занимать дополнительное дисковое пространство и влиять на производительность, важно балансировать объем информации, которую вы записываете, и не забывать регулярно архивировать и очищать старые логи.


создано: 2017-05-09
обновлено: 2023-09-01
133618



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

MySql (Maria DB)

Термины: MySql (Maria DB)