Devel Debug Log записал в свою таблицу что-то настолько ужасное, что...

Аватар пользователя marassa marassa 16 февраля в 13:31

она теперь не открывается даже в phpMyAdmin ;)))

Интенсивно пользуюсь Devel Debug Log. Иногда случается, что страница admin/reports/debug перестаёт открываться (слишком много данных), тогда я просто иду в phpMyAdmin и чищу таблицу devel_debug_log, после чего всё опять работает (если не просить от функции ddl() слишком многого) .
Так вот сейчас и admin/reports/debug не открывается (ошибка 500), и phpMyAdmin при попытке открыть таблицу devel_debug_log тоже выдает ошибку 500:

PS Как только отправил свой дурацкий вопрос, так сразу же нашел очевидное решение: в том же phpMyAdmin, не пытаясь открыть таблицу на просмотр, просто запустил DELETE FROM `devel_debug_log`, и всё удалилось.
Теперь так и не удастся узнать что же там было такого, что phpMyAdmin не мог показать Wink

Комментарии

Аватар пользователя ivnish ivnish 16 февраля в 14:15

И мы никогда не узнаем. Но решение нашел верное, я именно это и собирался предложить Smile

Аватар пользователя bsyomov bsyomov 16 февраля в 17:19
2

Так и надо делать - зачем в этом случае просмотр? Только запрос должен быть:
TRUNCATE `devel_debug_log`;

Аватар пользователя bsyomov bsyomov 17 февраля в 13:21

И то и другое зло и лишняя дыра. Лучше использовать консольный mysql клиент, а если уж очень надо, то какой-нибудь клиент через ssh туннель работающий, например heidisql.

Аватар пользователя bsyomov bsyomov 18 февраля в 15:16

Чем он полезнее того же heidisql, или средств работы с базами в вашей любимой IDE?
Может лимитами на загрузку и время выполнения из-за того, что это php скрипт и работает в контексте веб сервера?

Он так распространён не потому, что хорош, а потому, что был практически безальтернативным методом доступа к базам на шаред хостингах, где невозможно было добраться до баз иначе. Некое "необходимое зло" для такой ситуации.

Аватар пользователя adano adano 18 февраля в 15:41

Чем он полезнее

Быстротой и веб-интерфейсом для администрирования.
В нем намного быстрее запустить SQL-команду, чем советовать ПО для винды на форуме.

Аватар пользователя bsyomov bsyomov 18 февраля в 15:47

Намного быстрее это сделать в консольном клиенте. А в том же phpmyadmin и таймаут можно поймать на каком-нибудь развесистом запросе.
Heidisql приведён как пример. Есть mysql workbench, кросс платформенный, и ещё немало клиентов под различные системы/задачи/вкусы. У большинства есть прямо в IDE средства разработки для баз данных.

И да, webui это совсем не плюс, если он не необходим.

Аватар пользователя adano adano 18 февраля в 16:08

Намного быстрее это сделать в консольном клиенте.

Практически, вслепую.

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

Аватар пользователя bsyomov bsyomov 18 февраля в 17:01

Ага, миллион леммингов не могут ошибаться.

Я выше описал вполне реальные недостатки. Если вам они не важны, пользуйтесь, кто ж мешает, главное в продакшен не тянуть его с собой.

Но уровень аргументации "мне привычно поэтому он хорош", всё же слабоват.

Аватар пользователя adano adano 18 февраля в 17:34

Я выше описал вполне реальные недостатки.

О том, что phpmyadmin, это "некое необходимое зло", которое может поймать таймаут? Bye

Аватар пользователя bsyomov bsyomov 19 февраля в 12:20

В частности об этом.
Он ничем не лучше любого gui клиента, и не быстрее, конечно. Но имеет дополнительные ограничения из-за среды выполнения. А если рассматривать не локальное использование, то это ещё и потенциально дополнительная дыра. Так где же какие-то его плюсы?

Аватар пользователя gun_dose gun_dose 18 февраля в 18:49

Я посмотрю, как ты в консольном клиенте будешь проверять корректность миграции, когда есть какое-то поле, значение которого заполняется приблизительно в одном из 100 раз. В пхпмайадмин я могу просто покликать табличку по колонкам, чтобы отсортировать по значению и увидеть, записалось туда что-нибудь или нет. Конечно, можно провернуть это всё и в консольном клиенте, каждый ведь наизусть помнит названия таблиц и их колонок)))

Ну и как бы таймаут реально выхватить только на импорте или экспорте базы, тут консольные инструменты незаменимы.

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

Аватар пользователя bsyomov bsyomov 19 февраля в 12:34

Читаем внимательно, что я предлагал делать в консольном клиенте.
Кстати, может быть полезно: многие не знают, но там есть автодополнение, так что помнить полностью имена таблиц/полей не то, чтобы обязательно.

В любом GUI клиенте, тоже можно "прокликать табличку по колонкам".

gun_dose wrote: мало кто знает, но с помощью phpmyadmin на шаред хостинге можно увидеть, на сколько суммарно загружен сервер запросами со всех сайтов

Это не какая-то "спецспособность" phpmyadmin. Это сделано на основе:

SHOW GLOBAL STATUS;
SHOW GLOBAL VARIABLES;
SHOW PROCESSLIST;

И такое есть не только в нём.

Аватар пользователя bsyomov bsyomov 19 февраля в 17:08

Я для себя доволен heidisql, потому, что mysql/postgres/sql server, и умеет работать через ssh туннель.
А так, выбор зависит от платформы, используемых баз и вкусов - вариантов не мало.

Очень удобно, чтобы ssh туннелирование поддерживалось в интерфейсе программы, удобнее работать с удалёнными базами без необходимости где-то отдельно эти туннели делать.

Тут не конкретный инструмент важен больше, а как он запускается/подключается к базе. Обычное приложение имеет куда меньше проблем, чем веб приложение из-за среды выполнения. А удалённые подключения через ssh туннель намного безопаснее любого веб интерфейса.