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

5. Альтернативные способы поиска проблемного запроса.MySQL Proxy, online logging кратко

Лекция



Привет, Вы узнаете о том , что такое альтернативные способы поиска проблемного запроса mysql proxy online logging, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое альтернативные способы поиска проблемного запроса mysql proxy online logging , настоятельно рекомендую прочитать все из категории Методы выявления ошибок в SQL приложении.

уже писали, что использование general query log ресурсоемко. Часть проблемы снимается, если использовать новую возможность MySQL версии 5.1: online logging, которое позволяет включать и выключать general query log без остановки сервера.

К сожалению это не панацея: у вас может быть старая версия MySQL сервера, не имеющая такой возможности, general query log может содержать слишком много информации и вам будет трудно найти ошибку, у вас может быть какая-то другая собственная причина.

Что делать, если вы не можете использовать general query log?

Один из вариантов - использовать журналирование средствами вашего приложения. Добавьте код, который будет писать запросы, которые посылает ваше приложение, в log file.

Этот подход имеет то преимущество, что вы сможете тонко настроить вывод: что и как писать. Будет хорошо, если вы будете записывать возвращаемое значение и сообщения об ошибках в тот же лог.

Прием №9: настройте ваше приложение таким образом, что оно будет записывать логи запросов самостоятельно.

Еще один вариант - использовать прокси, который будет перехватывать запросы и записывать их в файл.

Один из предпочтительных вариантов – это MySQL Proxy, поскольку это скриптуемый прокси, предназначенный для работы с сервером MySQL. Об этом говорит сайт https://intellect.icu . Он использует MySQL клиент-сервер протокол. Писать скрипты для MySQL Proxy можно на языке программирования Lua.

Ниже приведен пример реализации general query log при помощи MySQL Proxy:

function read_query( packet )
if packet:byte() == proxy.COM_QUERY then
print(os.date("%d%m%g %T") .. "\t"
.. proxy.connection.server.thread_id
.."\tQuery\t" .. packet:sub(2))
end
end

Приведенный скрипт записывает в стандартный вывод все полученные запросы.

Запустить его можно так:

$mysql-proxy --proxy-lua-script=`pwd`/general_log.lua

Вывод будет таким:

$mysql-proxy --proxy-lua-script=`pwd`/general_log.lua
011109 15:00:24 12 Query select @@version_comment limit 1
011109 15:00:27 12 Query SELECT DATABASE()
011109 15:00:27 12 Query show databases
011109 15:00:27 12 Query show tables
011109 15:00:30 12 Query select * from t1

Разумеется, так как MySQL Proxy использует полноценный язык программирования Lua, вы сможете настроить вывод таким образом, чтобы получить необходимую информацию об именно тех запросах которые вам интересны. Например, вы можете записать в таком "General Query Log" информацию о коде возврата и ошибках.

Больше информации здесь: http://dev.mysql.com/doc/refman/5.1/en/mysql-proxy.html и http://forge.mysql.com/wiki/MySQL_Proxy

Примеры скриптов можно найти здесь: http://forge.mysql.com/search.php?k=proxy

Прием №10: используйте MySQL Proxy или любой другой прокси.

Использование предложенных двух вариантов привлекательно еще и тем, что вы можете тонко настроить вывод и записывать только те запросы, которые вам нужны для дальнейшего анализа.

В заключение, эта статья об альтернативные способы поиска проблемного запроса mysql proxy online logging подчеркивает важность того что вы тут, расширяете ваше сознание, знания, навыки и умения. Надеюсь, что теперь ты понял что такое альтернативные способы поиска проблемного запроса mysql proxy online logging и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Методы выявления ошибок в SQL приложении

Из статьи мы узнали кратко, но содержательно про альтернативные способы поиска проблемного запроса mysql proxy online logging
создано: 2016-03-02
обновлено: 2024-11-12
110



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


Поделиться:

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

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

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

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

Комментарии


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

Базы данных - Методы выявления ошибок в SQL приложении

Термины: Базы данных - Методы выявления ошибок в SQL приложении