Как прочитать файл журнала innodb?

#mysql #innodb #logging

#mysql #innodb #ведение журнала

Вопрос:

Я хотел бы увидеть «общий журнал запросов» из файла журнала innodb, так кто-нибудь знает, как просмотреть / прочитать эти журналы запросов?

Я попробовал MySQL admin utility, она показывает только журнал ошибок, а журнал запросов отключен.

Комментарии:

1. Я нашел эту статью, которая решила мою проблему, ссылка

Ответ №1:

Ответ заключается в том, что вы не можете.

Файлы ib_logfile * не содержат запросов, а скорее выровненные по 512 байтам инструкции о том, как повторно применить изменения, внесенные запросами. Например:

[Идентификатор пробела] [Идентификатор страницы] [Где на странице нужно изменить] [Полезная нагрузка]

  • Пробел-идентификатор — это номер файла (например, ibdata1 = нулевой номер файла).
  • Идентификатор страницы — это какая страница в этом файле. Все страницы размером 16 КБ.

Комментарии:

1. Морган, у тебя есть источник этой информации?

2. я хочу видеть выполняемые запросы / набор инструкций, отправляемых в mysql с использованием ib_logfiles и ibdata1. как это возможно? любой анализатор или инструмент извлечения?

Ответ №2:

Протоколирование запросов — это большая перегрузка производительности, поэтому по умолчанию оно отключено. Если вы хотите регистрировать запросы, установите переменную log в my.cnf

 log=/tmp/mysql.log
  

Это не рекомендуется, если ваше приложение находится в режиме реального времени, поскольку это очень сильно замедлит его работу, и пользователи могут получить ошибки 500 или тайм-аута соединения. Как только вы закончите отладку, прокомментируйте это.

Комментарии:

1. На самом деле у меня есть файлы журналов, ib_logfile0, но мне нужно просмотреть запросы за последние, скажем, 4 дня. Итак, мой вопрос в том, как их увидеть