|
Перечень основных ошибок БД и способы их исправления
Расположение информации в ошибке: mySQL error: описание ошибки. (errno:код ошибки)
» Error Code 2 (No such file or directory): Описание: был удален файл данных mySQL, сам файл указывается в описании ошибки. Что делать: Свяжитесь с администратором хостинга (службой поддержки) и сообщите об этой ошибке, они должны будут восстановить его. Или же попробуйте восстановить базу Вашего форума из бэкапа.
» Error Code 9 (Bad file descriptor): Описание: данная ошибка, 'Bad file descriptor or error 9', означает, что когда Вы пытаетесь открыть таблицу БД, возникает проблема нехватки свободных файловых дескрипторов для mySQL. Что делать: Если Вы имеете доступ к конфигурированию mySQL, т.е. у Вас на сервере есть /etc/my.cnf файл, то внесите изменения в параметр open_files_limit в разделе safe_mysqld. Например: [safe_mysqld] open_files_limit=8192 |
и перезапустите mySQL. Если же такой возможности нет, то свяжитесь с Вашим хостером и сообщите об этой ошибке.
» Error Code 28 (No space left on device): Описание: 28 ошибка одна из самых опасных и означает она, что закончилось место для хранения данных mySQL или же что в директории /tmp Вашего сервера не хватает свободного места. Что делать: Закрыть Ваш форум, дабы не было записи в базу, при добавлении тем/сообщений и т.д. Связаться с Ваши хостером (службой поддержки хостинга) и сообщить об этой ошибке. Если же у Вас собственный сервер, то Вам необходимо увеличить место, отведенное для хранения данных mySQL, например перенести на новый раздел, и/или изменить расположение /tmp директории в my.cnf
» Error Code 144 (Table is crashed and last repair failed): Описание: таблица, к которой происходило обращение, разрушилась и последняя попытка ее востановить оказалась безуспешной. Что делать: Обратиться к хостеру и сообщить об ошибке. Если же у Вас собственный сервер, Вам необходимо остановить mySQL сервер и запустить комманду для востановления. Когда mySQL остановлен, выполните в shell/telnet/ssh комманду:
myisamchk -r -u имя_пользователя -p пароль имя_базы где: имя_пользователя - Ваше имя пользователя базы данных имя_базы пароль - пароль базы имя_базы. Обратите внимание что пароль нужно указывать сразу после -p без каких-либо разделяющих символов. имя_базы - база который требуется восстановить.
» Error Code 145 (Table was marked as crashed and should be repaired): Описание: таблица, к которой происходило обращение, разрушилась и необходимо ее починить. Что делать: Обратиться к хостеру и сообщить об ошибке.
» Too many connections Описание: большое количество соединений с базой, подробнее читаем http://www.mysql.com/doc/T/o/Too_many_connections.html Что делать: Обращаемся к хостеру и сообщаем об ошибке. Если мы сами себе хостинг, то можем увеличить количесто максимальных соединений. Изменяем параметр max_connections в файле /etc/my.cnf сервера.
» mySQL server has gone away Описание: серевер прекратил принимать соединения. Подробнее опять на сайте разработчика: Что делать: Ждем некоторое время, возможно хостер просто перезапускает сервер. Если ошибка повторяется длительное время, то следуем указаниям пункта 2. Стучимся к хостеру, недовольно сообщаем об ошибке. Счастливым обладатели dedicated серверов. - По умолчанию, сервер закрывает совединение через 8 часов бездействия. Вы можете изменить время простоя параметром wait_timeout в /etc/my.cnf. - Другая причина получения ошибки 'mySQL server has gone away' это посылка Вами ''close'' для Вашего mySQL соединения и затем попытка выполнения запроса, уже на закрытом соединении. Убедиться в том что mySQL сервер функционирует можно проверив его mysqladmin для проверки аптайма.
Для этого введите в shell/telnet/ssh:
mysqladmin -u root -p version
- Еще одной из причин появлений этой ошибки может быть отправка Вами неверного или слишком большого запроса. Если mysqld получает слишком большой пакет или же неверный пакет, он в целях безопасности закрывает соединение с пользователем. Если Вам необходимо использование больших запросов, Вы можете увеличить этот лимит, запустив mysqld с ключем -O max_allowed_packet=# (по-умолчанию 1M) или опцией via max_allowed_packet в Вашем /etc/my.cnf файле.
» Got error 127 when reading table Описание:Как правило, коруптится таблица из-за неправильного shutdown'а сервера, или crash'а например в core, когда остается незавершенный запрос. Вообще эта ошибка самая противная и страшная, так как она плавающая, и сложно ее поймать и предотвратить. Что делать: Через phpmyadmin можно сделать Repair (Починить таблицу) или обращаемся к хостеру и сообщаем об ошибке.
» Can't create a new thread (errno 35) (If you are not out of available memory, you can....) Описание:Нехватка памяти. Что делать: Обращаемся к хостеру и сообщаем об ошибке. |