Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / MySQL / Проблемы и распространенные ошибки /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Распространенные ошибки при использовании MySQL - Программирование от RIN.RU
Распространенные ошибки при использовании MySQL




В этом разделе перечислены некоторые ошибки, с которыми часто приходится сталкиваться пользователям; дается описание этих ошибок и способы их исправления.


Ошибка Access denied


Обращайтесь к разделу Как работает система привилегий. Особо следует изучить раздел Причины появления ошибок Access denied ("в доступе отказано").


Ошибка MySQL server has gone away


Bсе изложенное в данном разделе относится также и к родственной ошибке 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 снова при повторном задании запроса (см. раздел Что делать, если работа MySQL сопровождается постоянными сбоями).


Эти ошибки будут также выдаваться при посылке серверу неверного или слишком длинного запроса. Если mysqld получает неправильный или слишком большой пакет, то сервер предполагает, что с клиентом что-то не так, и закрывает соединение. Если необходимо выполнять объемные запросы (например, при работе с большими столбцами типа BLOB), можно величить
предельный размер запроса, запустив mysqld с опцией -O max_allowed_packet=# (по умолчанию 1 Mб). Дополнительная память выделяется по требованию, так что mysqld будет использовать больше памяти только в случае, когда выдан большой запрос или когда mysqld должен возвратить большую строку результата!


Если у вас возникнет желание сделать отчет об ошибке по этой проблеме, то не забудьте включить в него следующие сведения:


Обращайтесь к разделу Как задавать вопросы и направлять сообщения об ошибках.


Вперед  >>>
 1  2  3  4 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Как определить, чем вызваны проблемы

Вопросы, связанные с инсталляцией

Вопросы, связанные с администрированием

Проблемы, относящиеся к запросам

Вопросы, связанные с определением таблиц

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь