MySQL server has gone away

Тема в разделе "Базы данных", создана пользователем danneo, 31 окт 2012.

Статус темы:
Закрыта.
Модераторы: latteo
  1. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.454
    Симпатии:
    113
    Устанавливал для теста мод на DLE. Немного походил по настройкам и все глюкнуло. Теперь выдает ошибки:
    Код:
    MySQL Error!
    ------------------------
    The Error returned was:
    MySQL server has gone away
    Error Number:
    1 
    phpmyadmin работает, но с базой проблемы. Также при выборе базы выводится сообщение красное:
    Почему такое могло получится, может мод это натворил, рассчитанный на то, что люди его ставят на хостинг и он ломает базу?
    и когда создаю базу и пользователя через денвер, выдается ошибка:
     
  2. xpert13

    xpert13 <(*_*)>

    Moderator
    Регистр.:
    7 ноя 2008
    Сообщения:
    182
    Симпатии:
    456
    Вряд ли мод мог такое сделать, поломать базу не так просто. Попробуйте сделать восстановление базы данных. Где это именно подсказать не могу, не помню, ищите по слову "repair".
     
  3. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.454
    Симпатии:
    113
    Эту базу я уже удалял и заново ставил DLE без модуля. Дак при установке выдает ошибку. И это касается вообще всего сервера баз на denwer. Такое со всеми базами...
     
  4. xpert13

    xpert13 <(*_*)>

    Moderator
    Регистр.:
    7 ноя 2008
    Сообщения:
    182
    Симпатии:
    456
    Переустановите сервер
     
  5. BrODIAga

    BrODIAga Писатель

    Регистр.:
    4 янв 2008
    Сообщения:
    9
    Симпатии:
    1
    A.2.2 Ошибка MySQL server has gone away

    Все изложенное в данном разделе относится также и к родственной ошибке Lost connection to server during query.
    Наиболее часто ошибка MySQL server has gone away возникает в результате тайм-аута соединения и его закрытия сервером. По умолчанию сервер закрывает соединение по прошествии 8 часов бездействия. Можно изменить лимит времени, установив при запуске mysqld переменную wait_timeout.
    Другой распространенной причиной получения ошибки MySQL server has gone away является выдача команды "закрытия" на соединении MySQL с последующей попыткой выполнить запрос на закрытом соединении.
    Если это получено в скрипте, то достаточно просто повторить запрос от клиента, чтобы соединение автоматически восстановилось.
    Обычно в этом случае выдаются следующие коды ошибки (какой из них вы получите, зависит от ОС:(
    Код ошибки Описание
    CR_SERVER_GONE_ERROR Клиент не может послать запрос серверу.
    CR_SERVER_LOST Клиент не получил ошибки при передаче запроса серверу, но он не получил также полного ответа (или хоть какого-то ответа) на запрос.
    Ошибка будет также выдана, если кто-нибудь уничтожит выполняющийся поток посредством kill номерпотока.
    Проверить, что MySQL на ходу, можно, запустив mysqladmin version и изучив время работы (uptime). Если проблема в аварийном завершении mysqld, то необходимо сосредоточиться на поиске причины аварии. В этом случае следует сначала проверить, не будет ли уничтожен MySQL снова при повторном задании запроса (see section Перейти по ссылке).
    Эти ошибки будут также выдаваться при посылке серверу неверного или слишком длинного запроса. Если mysqld получает неправильный или слишком большой пакет, то сервер предполагает, что с клиентом что-то не так, и закрывает соединение. Если необходимо выполнять объемные запросы (например, при работе с большими столбцами типа BLOB), можно увеличить предельный размер запроса, запустив mysqld с опцией -O max_allowed_packet=# (по умолчанию 1 Mб). Дополнительная память выделяется по требованию, так что mysqld будет использовать больше памяти только в случае, когда выдан большой запрос или когда mysqld должен возвратить большую строку результата!
    Если у вас возникнет желание сделать отчет об ошибке по этой проблеме, то не забудьте включить в него следующие сведения:
    • Информацию о том, упал MySQL или нет (это можно определить по файлу hostname.err (see section Перейти по ссылке).
    • Если определенный запрос уничтожает mysqld, а используемые в нем таблицы перед выполнением запроса проверялись с помощью CHECK TABLE, то желательно составить контрольный тест (see section Перейти по ссылке).
    • Значение переменной wait_timeout в сервере (это значение выдает mysqladmin variables).
    • Информацию о том, пробовали ли вы запускать mysqld с --log и проверять, появляется ли выданный запрос в журнале.
     
  6. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.454
    Симпатии:
    113
    удалил денвер, установил базовую версию. Ошибка пропала. Ставлю расширение, ошибка опять всплывает. Ничего с базой не работает. :)
     
  7. arvie

    arvie Писатель

    Регистр.:
    6 июл 2012
    Сообщения:
    5
    Симпатии:
    0
    Обычно такое бывает, когда скрипт закрывает соединение с базой и затем вновь пытается выполнять SQL запросы на закрытом соединении.
     
  8. Zloy HACKER

    Zloy HACKER Постоялец

    Заблокирован
    Регистр.:
    25 окт 2012
    Сообщения:
    132
    Симпатии:
    24
    Какой мод вы устанавливали, выложите пожалуйста. Могу помочь.
     
  9. xpert13

    xpert13 <(*_*)>

    Moderator
    Регистр.:
    7 ноя 2008
    Сообщения:
    182
    Симпатии:
    456
    Скрипт валит базу на закрытом соединении? Что за бред?

    По теме: автору рекомендую создать отдельного пользователя для базы данных (не с рутовыми правами) и попробовать с ним. В нормальных условиях такого быть не должно.
     
  10. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.454
    Симпатии:
    113
    не знаю что такое. Установил заново с доп.пакетами, та же ошибка. Удалил вообще все и установил базовый пакет. Стало все работать. Не знаю почему так получилось, но стало именно из-за данного скрипта. Сейчас он работает вроде как нормально. :)
     
Статус темы:
Закрыта.