Где логи mysql windows

Журналы (logs) в MySQL

В MySQL на данный момент существуют 4 вида журнала (лога) и при достаточно серьёзной работе с базами на MySQL необходимо за ними следить. Например, бинарный лог у нас за сутки набирает около гигабайта, а размер жёсткого диска на сервере ограничен и за ними надо следить. Однако следить следует не только за бинарным логом, так как логи (журналы) в MySQL могут принести немалую пользу.

Итак, какие логи ведёт MySQL? Это:
1. бинарный лог (binary log)
2. лог ошибок (error log)
3. лог медленный запросов (slow query log)
4. лог запросов (general query log)
5. лог репликаций (relay log)

Каждый из них по-своему полезен.

Бинарный лог

В первую очередь полезен с точки зрения репликаций. Можно его бэкапить, можно использовать для восстановления данных на более точное время при использовании бэкапов. Лог содержит все команды изменений базы данных, выборки (select, show) не сохраняет, для таблиц, поддерживающих транзакции (BDB, InnoDB) запись в лог выполняется только после выполнения команды COMMIT . Для лога можно указывать список баз данных, которые надо логировать и список баз данных, которые не надо логировать. В более ранних версиях вместо бинарного лога использовался лог обновлений. Использование бинарного лога снижает производительность базы данных, однако его польза настолько велика, что крайне не рекомендуется его отключать. Рекомендуется защищать бинарный лог паролем, так как он может данные также о паролях пользователей. При достижении максимально разрешённого размера (1 гиг по умолчанию) создаётся следующий файл. Каждый новый файл имеет порядковый номер после имени.

Содержание бинарного лога можно посмотреть с помощью утилиты mysqlbinlog.

Основные настройки в my.cnf

Местоположение лога:
log_bin = /var/log/mysql/mysql-bin.log

Максимальный размер, минимум 4096 байт, по умолчанию 1073741824 байт (1 гигабайт):
max_binlog_size= 500M

Сколько дней хранится:
expire_logs_days = 3

Наиболее часто использующиеся команды

Повторение действий после операции восстановления:
shell> mysqlbinlog log_file | mysql -h server_name

Удаление логов до определённого файла:
PURGE BINARY LOGS TO ‘mysql-bin.000’;

Удаление логов до определённой даты:
PURGE BINARY LOGS BEFORE ‘YYYY-MM-DD hh:mm:ss’;

Лог ошибок

Особенно полезен в случаях сбоев. Лог содержит информацию об остановках, запусках сервера, а также сообщения о критических ошибках. Может содержать сообщения с предупреждениями (warnings).

Основные настройки в my.cnf

Местоположение лога:
log_error = /var/log/mysql/mysql.err

Флаг, указывающий стоит ли записывать в лог в том числе предупреждения (записываются, если значение больше нуля):
log_warnings = 1

Наиболее часто использующиеся команды

Переход к новому файл лога:
shell> mysqladmin flush-logs

Копирование старой части лога (необходимо, так как в случае повторного выполнения fluch он будет удалён):
shell> mv host_name.err-old backup-directory

Лог медленных запросов

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

Основные настройки в my.cnf

Местоположение лога:
log_slow_queries = /var/log/mysql/mysql_slow.log

Со скольки секунд выполнения запрос считается медленным, минимальное значений — 1 секунда, по умолчанию 10 секунд:
long_query_time = 10

Если надо логировать запросы, которые не используют индексы, надо добавить строку:
log-queries-not-using-indexes

Если надо вести лог медленных команд, таких как OPTIMIZE TABLE , ANALYZE TABLE и ALTER TABLE :
log-slow-admin-statements

Лог запросов

Лог содержит информацию о подключениях и отключениях клиентов, а также все SQL запросы, которые были получены. Фактически, это временный лог. Обычно лог удаляется автоматически сразу после выполнения всех команд (т.е. как только он стал ненужным). Лог ведётся в соответствии с очередность поступления запросов. Этот лог содержит все запросы к базе данных (независимо от приложений и пользователей). Так что если есть желание (или необходимость) проанализировать, какие необходимы индексы, какие запросы могли бы оптимизированы, то этот лог как раз может помочь в таких целях. Лог полезен не только для случаев, когда необходимо знать, какие запросы выполняются с базой данных, но и в случаях, когда ясно, что возникла ошибка с базой данных, но неизвестно, какой запрос был отправлен к базе данных (например, в случае генерации динамического SQL-а). Рекомендуется защищать лог запросов паролем, так как он может данные также о паролях пользователей.

Читайте также:  Windows 10 права камеры
Основные настройки в my.cnf

Местоположение лога:
log = /var/log/mysql/mysql.log

Наиболее часто использующиеся команды

В отличии от других логов, перезагрузка сервера и команда fluch не инициирует создание нового лога. Но это можно сделать вручную:
shell> mv host_name.log host_name-old.log
shell> mysqladmin flush-logs
shell> mv host_name-old.log backup-directory

Лог репликаций

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

Основные настройки в my.cnf

Местоположение лога:
relay-log = /var/log/mysql/mysql-relay-bin.log

Максимальный размер:
max_relay_log_size = 500М

Наиболее часто использующиеся команды

Начать новый файл лога можно только при остановленном дополнительном (slave) сервере:
shell> cat new_relay_log_name.index >> old_relay_log_name.index
shell> mv old_relay_log_name.index new_relay_log_name.index

Команда fluch logs инициирует ротацию лога.

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Как включить логирование в MySQL под Windows Server?

Windows Server 2003
MySQL 5.0.51b

Содержимое my.ini:
.
#Enter a name for the binary log. Otherwise a default name will be used.
log-bin=»C:/Program Files/MySQL/MySQL Server 5.0/logs/dl/bin.log»
#Enter a name for the query log file. Otherwise a default name will be used.
log=»C:/Program Files/MySQL/MySQL Server 5.0/logs/dl/query.log»
#Enter a name for the error log file. Otherwise a default name will be used.
log-error=»C:/Program Files/MySQL/MySQL Server 5.0/logs/dl/err.log»
#Enter a name for the slow query log. Otherwise a default name will be used.
log-slow-queries=»C:/Program Files/MySQL/MySQL Server 5.0/logs/dl/slow.log»
#Enter a name for the update log file. Otherwise a default name will be used.
log-update=»C:/Program Files/MySQL/MySQL Server 5.0/logs/dl/update.log»
#Enter a name for the isam logfile. Otherwise a default name will be used.
log-isam=»C:/Program Files/MySQL/MySQL Server 5.0/logs/dl/isam.log»
#Binary log will be rotated automatically when the size exceeds this value. Will also apply to relay logs if max_relay_log_size is 0. The minimum value for this variable is 4096.
max_binlog_size=1024M
#Log queries that are executed without benefit of any index.
log-queries-not-using-indexes

и тем не менее show variables; показывает:

Как включить логирование при загрузке?
Здравствуйте. а можно как то включить подробный лог загрузки и потом его просмотреть. А то система.

Как запустить asp-страницы, разработанные под PWS и Win98, под Windows 2000 Server?
Как запустить asp-страницы, разработанные под PWS и Win98, под Windows 2000 Server! Есть там.

Как включить автоматическое отключение компьютера под Windows 2000?
Вопрос может быть достаточно ламмерский, но тем не менее прошу помочь. Установил Винд2000 и теперь.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как скомпилировать приложение под Windows Server 2003?
Добрый вечер! Такая проблема: скомпилированное приложение работает на Win7 и Win8, но не.

Как установить MyQL под Windows 2000 Server
Обычная проблема. Не могу установить MySQL под винды. Я делал это под 98, но это что-то другое.

Как сломать Windows Server под правами администратора
Доброго времени суток уважаемые эксперты! Прошу вашей подсказки — необходимо сломать Windows Server.

Читайте также:  Chuwi hi10 linux install

Как авторизоваться под доменной учеткой в Windows Server 2008?
Добрый день коллеги! Появилась не обходимость в офисе превести половину машин на на бесплатное ПО.

Как правильно скомпилировать приложение под Windows Server 2012 R2 Standart
Подскажите как правильно скомпилировать приложение в Visual Studio 2012 чтобы оно запускалось в.

Логирование в MySQL

Журналы событий — первый и самый простой инструмент для определения статуса системы и выявления ошибок. Основных логов в MySQL четыре:

  • Error Log — стандартный лог ошибок, которые собираются во время работы сервера (в том числе start и stop);
  • Binary Log — лог всех команд изменения БД, нужен для репликации и бэкапов;
  • General Query Log — основной лог запросов;
  • Slow Query Log — лог медленных запросов.

Лог ошибок

Этот журнал содержит все ошибки, которые произошли во время работы сервера, включая критические ошибки, а также остановки, включения сервера и предупреждения (warnings). С него нужно начать в случае сбоя системы. По умолчанию все ошибки выводятся в консоль (stderr), также можно записывать ошибки в syslog (по умолчанию в Debian) или отдельный лог-файл:

log_error=/var/log/mysql/mysql_error.log
Ошибки будут писаться в mysql_error.log

Рекомендуем держать этот журнал включенным для быстрого определения ошибок. А для понимания, что значит та или иная ошибка, в MySQL присутствует утилита [http://dev.mysql.com/doc/refman/5.7/en/perror.html perror]:

Объясняет значения кодов ошибок

Бинарный (он же двоичный) лог

В бинарный лог записываются все команды изменения базы данных, пригодится для репликации и восстановления.

Указывает расположение, срок жизни и максимальный размер файла

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

Лог запросов

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

Включает лог и указывает расположение файла

Также его можно включить/отключить во время работы сервера MySQL:

Для применения не нужно перезагружать сервер

Лог медленных запросов

Журнал пригодится для определения медленных, то есть неэффективных запросов. Подробнее читайте в этой статье.

Просмотр логов

Для просмотра логов на Debian (Ubuntu) нужно выполнить:

Если логи не указаны отдельно, то находятся в /var/lib/mysql

Ротация логов

Не забывайте сжимать (архивировать, ротировать) файлы логов, чтобы они занимали меньше места на сервере. Для этого используйте утилиту logrotate, отредактировав файл конфигурации /etc/logrotate.d/mysql-server :

Сжимает и архивирует нужные логи, очищает файлы

DDL Log

MySQL также ведет лог языка описания данных. В него собираются данные операций типа DROP_TABLE and ALTER_TABLE. Лог используется для восстановления после сбоев, которые произошли во время выполнения таких операций. [http://dev.mysql.com/doc/refman/5.7/en/ddl-log.html DDL Log] — бинарный файл, не предназначенный для чтения пользователем, поэтому не модифицируйте и не удаляйте его.

Самое главное

Всегда включайте лог ошибок, используйте лог запросов для проверки соединения приложения с базой данных, проверки запросов и работы memcached. Лог медленных запросов пригодится для оптимизации работы MySQL.

Этот текст был написан несколько лет назад. С тех пор упомянутые здесь инструменты и софт могли получить обновления. Пожалуйста, проверяйте их актуальность.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Как увидеть файлы журнала в MySQL?

Я читал, что сервер Mysql создает файл журнала, где он хранит запись всех действий — например, когда и какие запросы выполняются.

может ли кто-нибудь сказать мне, где он существует в моей системе? Как я могу это прочесть?

в принципе, мне нужно создать резервную копию базы данных с разными входными данными [резервное копирование между двумя датами], поэтому я думаю, что мне нужно использовать файл журнала здесь, поэтому я хочу это сделать.

Читайте также:  Компилятор gcc mac os

Я думаю, что этот журнал должен быть защищен каким-то образом, потому что конфиденциальная информация такая поскольку имена пользователей и пароль могут быть зарегистрированы [если какой-либо запрос требует этого]; так может ли он быть защищен, не так легко увидеть?

У меня есть root доступ к системе, как я могу видеть в журнале?

когда я пытаюсь открыть /var/log / mysql.журнал пуст.

Это мой конфигурационный файл:

8 ответов:

вот простой способ, чтобы включить их. В mysql нам нужно часто видеть 3 журнала, которые в основном необходимы при разработке любого проекта.

The Error Log . Он содержит информацию об ошибках, которые происходят во время сервер работает (также запуск и остановка сервера)

The General Query Log . Это общая запись того, что такое mysqld выполнение (подключение, отключение, запросы)

The Slow Query Log . Он состоит из» медленных » операторов SQL (как указывается его имя).

по умолчанию никакие файлы журнала не включены в MYSQL. Все ошибки будут показаны в системном журнале.(/var / log / syslog)

чтобы включить их просто выполните следующие действия

step1: перейти к этому файлу( / etc / mysql / conf.d / mysqld_safe_syslog.cnf) и удалить или прокомментировать эти строки.

step2: перейдите в файл MySQL conf (/etc/mysql / my.cnf ) и добавить следующее: линии

чтобы включить журнал ошибок, добавьте следующее

чтобы включить общий журнал запросов, добавьте следующее

чтобы включить медленный журнал запросов, добавьте следующее

Шаг 3: сохраните файл и перезапустите mysql, используя следующие команды

чтобы включить журналы во время выполнения, войдите в mysql client ( mysql-u root-p) и дайте:

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

вы должны активировать регистрацию запросов в mysql.

1.редактировать /etc / my.cnf

2.перезагрузите компьютер или службу mysqld

3.откройте phpmyadmin / любое приложение, которое использует mysql / mysql console и запустите запрос

4.cat / tmp / mysql.журнал ( вы должны увидеть запрос )

журналы MySQL определяются глобальными переменными, такими как:

  • log_error для журнала сообщений об ошибках;
  • general_log_file для общего файла журнала запросов (если включено general_log );
  • slow_query_log_file для медленного файла журнала запросов (если включено slow_query_log );

для просмотра настроек и их расположение выполните команды:

для печати стоимость журнала ошибок, выполните эту команду в терминале:

чтобы прочитать содержимое файла журнала ошибок в режиме реального времени, выполните:

Примечание: Нажмите управления — C когда закончите

когда общий журнал включен, попробуйте:

использовать mysql с паролем доступа, добавить -p или

В моем (у меня установлена лампа) / etc/mysql/мой.cnf файл я нашел следующие, прокомментированные строки в разделе [mysqld]:

Я должен был открыть этот файл как суперпользователь, с терминалом:

(Я предпочитаю использовать Geany вместо gedit или VI, это не имеет значения)

Я просто раскомментировал их и сохранил файл, а затем восстановил mysql с помощью

выполнить несколько запросов, открыть выше файл (/var/log/mysql/mysql.log) и журнал был там:)

из справочного руководства MySQL:

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

дополнить Лойолаответ стоит отметить, что по состоянию на MySQL 5.1 log_slow_queries является устаревшим и заменяется на slow-query-log

используя log_slow_queries приведет service mysql restart или service mysql start провал

в дополнение к ответам выше вы можете передать параметры командной строки в процесс mysqld для регистрации параметров вместо ручного редактирования файла conf. Например, чтобы включить общее ведение журнала и указать файл:

подтверждая другие ответы выше, mysqld —help —verbose дает вам значения из файла conf (поэтому запуск с параметрами командной строки general-log является ложным); тогда как mysql -se «SHOW VARIABLES» | grep -e log_error -e general_log выдает:

используйте немного более компактный синтаксис для ошибки журнал:

Оцените статью