[Решено] Капкан Друпала - попал в водоворот 'MySQL server has gone away' error

Аватар пользователя yavor yavor 26 июля 2012 в 1:16

Модуль Updates был отключен на долгие месяцы. Хостер, хоть и итальянский, не особо напрягается. Хостинг шареный (100 евро в год), но с возможностью менять php.ini. При обновлении возникали проблемы типа 'MySQL server has gone away' error..., поэтому логично выключил месяцы назад обновления. Поскольку в последнее время проблемы начали нарастать лавинообразно, заявили хостеру и он ответил, что может быть это связано с проблемами на сервере, которые они разрешат. Мы решили тем временем включить Updates и что-то изменить, и тут началось бесконечное: MySQL server has gone...

Понятно, что данных много и это блокирует раздутый запрос к MSQL. Но беда в том, что теперь никаким образом нельзя подкрасться к странице модулей и отключить Updates: в любом запросе через 30 секунд падает пелена ошибок MySQL server has gone away'.

Php.ini настроен корректно. Проблемы хостера - одно дело, но кажется, что это мертвая петля Друпала. Мы используем Administration menu для редакции модулей и всего остального. Представьте себе, что из Administration menu вы хотите поменять настройки чего угодно. Итог - череда сообщений MySQL server has gone away. Никакое терпение не помогает. Таблицы в MSQL ошибок не содержат, изменение на Inno_db не дает ничего, потому что сайт оказался в замкнутом круге. Пробуем запустить Крон - MySQL server has gone. Пробуем какое угодно действие - одно и то же.

Если посоветуете, буду очень благодарен!

Комментарии

Аватар пользователя yavor yavor 26 июля 2012 в 1:33

Вы как еврей ответили мне вопросом на вопрос. К настройкам базы данных Друпала и ускорению выдачи страниц - отношение прямое. Но суть в цикле, который на подпускает к возврату на страницу редактирования модулей и в принципе - ни к чему. Можно создавать ноды, но любой доступ к Админу обречен на ожидание и MySQL server has gone... в итоге. Надеюсь, что вы меня поняли по существу, а не в терминологии.
Спасибо!

Аватар пользователя yavor yavor 26 июля 2012 в 2:14

Прошу вас не музицировать, поскольку я не задал вопрос на вашем блоге. Вы, наверное, устали, раз задаете вопросы задающему вопрос.

Аватар пользователя xxandeadxx xxandeadxx 26 июля 2012 в 2:36

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

Аватар пользователя mpa3b mpa3b 26 июля 2012 в 5:34

если всё так плохо то можете скачать весь сайт локально и провести все нужные обновления локально же. после чего залить обратно. за пару часов в период простоя сервера можно управиться. в крайнем случае закройте сайт на обслуживание. три часа должно хватить. а с 2 ночи до 5 утра ничего особенного не должно происходить.

в пхп.ини можно поднастроить параметры ожидания ответа для драйвера БД, но скорее всего настраивать нужно ещё и мускул-сервер через конфиг, если это возможно.

Аватар пользователя yavor yavor 26 июля 2012 в 10:23

Локально будут те же проблемы. У меня есть сохраненная копия базы данных до включения Update. Вы посоветуете ее залить на хост или есть решение с перспективой получше?

Аватар пользователя NaZg NaZg 26 июля 2012 в 11:57

"yavor" wrote:
Но беда в том, что теперь никаким образом нельзя подкрасться к странице модулей и отключить Updates: в любом запросе через 30 секунд падает пелена ошибок MySQL server has gone away'.

таблица system поставье апдейту 0 и модуль отключится

Аватар пользователя yavor yavor 26 июля 2012 в 12:39

"NaZg" wrote:
таблица system поставье апдейту 0 и модуль отключится

Вы имеете в виду - в PHPMYadmin? В этой таблице нет поля update. Или нужен скрипт dля query? Простите за безграмотность. В таблице поля модулей system, menu, path, ping, statistics,tracker и т.д, но апдеит поля нет.

Аватар пользователя yavor yavor 26 июля 2012 в 12:43

"q2_faith" wrote:
думаю стоит поменять хостинг)

Это лучший итальянский хостер - Register.it. Думаю, что проблема в конкретном случае не в их системных администраторах, а в модуле Update, который после включения создает лавину запросов и зашкаливает все: от Крона до просмотра пользователей и настройки любого модуля.

Аватар пользователя NaZg NaZg 26 июля 2012 в 12:44

"yavor" wrote:
В этой таблице нет поля update.

поиск → modules/update/update.module

"yavor" wrote:
Или нужен скрипт dля query?

если не владее те терминологиев, то лучше воздержитесь от использования, мой Вам совет

Стяните сайт на локалхост, обновите драшем и залейте обратно

Аватар пользователя q2_faith q2_faith 26 июля 2012 в 12:51

"yavor" wrote:
Думаю, что проблема в конкретном случае не в их системных администраторах, а в модуле Update, который после включения создает лавину запросов и зашкаливает все: от Крона до просмотра пользователей и настройки любого модуля.

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

Аватар пользователя NaZg NaZg 26 июля 2012 в 12:53

"q2_faith" wrote:
а ну тогда ладно. хостер хороший, модуль плохой

Виноват лично Дрис, что включил такой бажный модуль в ядро!

Аватар пользователя yavor yavor 26 июля 2012 в 12:58

"NaZg" wrote:
поиск → modules/update/update.module

Это в директории на сервере. Открыл файл modules/update/update.module, там функции, а не таблицы. В DB нет такой строчки, как вам я и говорил.

Аватар пользователя yavor yavor 26 июля 2012 в 13:07

Поверьте, это не только проблема хостера. Сказано здесь: http://www.drupal.ru/node/3666.

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

Аватар пользователя q2_faith q2_faith 26 июля 2012 в 13:24

"yavor" wrote:
Я хотел бы решить проблему там, где она возникла с минимальными потерями.

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

Аватар пользователя yavor yavor 26 июля 2012 в 13:41

"xxandeadxx" wrote:
продолжайте ковырять php.ini, вдруг поможет

А что именно? Там увеличены параметры памяти

safe_mode = Off
[MySQL]
mysqli.reconnect = On

max_execution_time = 120 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 512M ; Maximum amount of memory a script may consume (64MB)
и т.д.
Не пробовал это ignore_repeated_errors = Off поменять на ON. Однако как выключить системный модуль Update при таком Loop в админе?

Аватар пользователя yavor yavor 26 июля 2012 в 15:00

РЕШЕНО!

В фаиле php.ini поменял в строке

; Allow or prevent reconnect
mysqli.reconnect = Off на On

Сайт успокоился, слава Богу! теперь получается, что с меня магарыч коллеге "xxandeadxx", который задал три вопроса и дал один дельный совет. Спасибо, дорогой!

Спасибо всем! Тему можно считать закрытой.

Аватар пользователя NaZg NaZg 26 июля 2012 в 14:53

"yavor" wrote:
Это в директории на сервере. Открыл файл modules/update/update.module, там функции, а не таблицы. В DB нет такой строчки, как вам я и говорил.

забьёмся на 100 баксов?
И я имел в виду запись в БД

"yavor" wrote:
mysqli.reconnect = Off на Onn

onn такой опции нет

Аватар пользователя NaZg NaZg 26 июля 2012 в 15:04

"RxB" wrote:
А как же кривые модули и такой же друпал?

кривизна друпаловских модулей правится через php.ini опцией ONNNNNNNNNNNNNNN

Аватар пользователя yavor yavor 26 июля 2012 в 15:16

"NaZg" wrote:
onn такой опции нет

Опечатка на радостях вышла. Конечно On. Исправил в предтексте. Вам баксов не жалко? Я вам скрин таблицы по почте, а вы мне 100 баксов на счет. Кто свидетели транзакции?

Теперь надо попросить хостера исправить my.cnf (к нему доступа у нас нет) согласно спецификации на http://drupal.org/node/259580. Однако пусть сначала разберутся со своими завалами, может там оверселлинг или техпроблемы. Затем попросим сделать и прислать копию.

Спасибо!

Насчет кривизны модулей: ошибка случилась по факту включения именно Update status. Многие советуют забыть о нем, если нет намерения делать апдейт. Потом, мое мнение до и после одинаково положительно. Буду рад, если это решение кому-то поможет. Мне нравится Друпал. Один раз попался на удочку, теперь удочка у меня в руках - вот и вся разница.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 26 июля 2012 в 15:23

"yavor" wrote:
Однако пусть сначала разберутся со своими завалами, может там оверселлинг или техпроблемы.

"yavor" wrote:
Это лучший итальянский хостер - Register.it. Думаю, что проблема в конкретном случае не в их системных администраторах, а в модуле Update, который после включения создает лавину запросов и зашкаливает все: от Крона до просмотра пользователей и настройки любого модуля.

Я всё же поддерживаю коллегу, предать анафеме Дриса Байтаерта!