П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 178296 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 75764 раз(а).

Учебник HTML.
Просмотров 74199 раз(а).

Руководство по PHP5.
Просмотров 45147 раз(а).

Хостинг через призму DNS.
Просмотров 52090 раз(а).

Подборка текстов стандартных документов.
Просмотров 45220 раз(а).

Учебник PHP - Самоучитель
Просмотров 51452 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 51912 раз(а).

Внешние атаки...
Просмотров 42020 раз(а).

Учебник PHP.
Просмотров 37395 раз(а).

SSI в примерах.
Просмотров 27904 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Приложение E. Перенос на другие системы
Пред.     След.

E.1. Отладка сервера MySQL

E.1.5. Использование журналов для определения причин ошибок в mysqld

Обратите внимание: перед запуском mysqld с --log необходимо проверить все используемые таблицы с помощью myisamchk (see Глава 4, Администрирование баз данных).

Если демон mysqld умрет или зависнет, следует запустить mysqld с опцией --log. Если аварийное завершение mysqld снова повторится, то можно исследовать часть журнала, относящуюся к запросу, убившему mysqld.

При использовании опции --log без имени файла данный журнал хранится в каталоге базе данных как `hostname`.log. В большинстве случаев именно последний запрос в системном журнале приводит к смерти mysqld, но при возможности лучше в этом убедиться: перезапустите mysqld и выполните найденный запрос из командной строки mysql. Если запрос выполняется, то следует протестировать все сложные запросы, которые не завершились.

Можно также попробовать выполнить команду EXPLAIN для всех выражений SELECT, которые занимают длительное время, чтобы убедиться, что mysqld правильно использует индексы. See Раздел 5.2.1, «Синтаксис оператора EXPLAIN (получение информации о SELECT.

Запросы, требующие слишком длительного времени для выполнения, можно выявить, запустив mysqld с параметром --log-slow-queries. See Раздел 4.9.5, «Журнал медленных запросов».

Если в журнале ошибок (обычно он имеет имя `hostname`.err) присутствует запись "mysqld restarted", то у вас есть шанс найти запрос, вызывающий смерть mysqld. В этом случае необходимо проверить все таблицы с помощью команды myisamchk (see Глава 4, Администрирование баз данных) и проанализировать запросы в журналах MySQL, чтобы определить, какой из них не работает. Если такой запрос найден, прежде всего необходимо попытаться сделать апгрейд MySQL до новейшей версии. Если же это не помогает и нет ничего похожего в архиве списка рассылки mysql, пришлите отчет о данном сбое по адресу . Ссылки на архивы списка рассылки доступны по адресу http://lists.mysql.com/.

Если демон mysqld был запущен с параметром myisam-recover, то MySQL автоматически проверяет и пытается восстановить таблицы MyISAM (если они отмечены как "таблица не закрыта правильно" или "таблица повреждена"). В этом случае MySQL запишет в файл hostname.err предупреждение: "Warning: Checking table ...", за которым следует "Warning: Repairing table", если данную таблицу следует исправить. Если таких ошибок в журнале много, а mysqld перед этим не умирал со сбоем, то что-то работает неправильно и необходимы дальнейшие исследования. See Раздел 4.1.1, «Параметры командной строки mysqld».

Конечно, неожиданная смерть mysqld - событие малоприятное, но в этом случае следует не изучать сообщения "Checking table...", а попытаться найти причины остановки mysqld.


Назад Начало Главы Начало Раздела Вперед

Пред. Глава След. Глава
Приложение D. История изменений и обновлений MySQL Начало Книги Приложение F. Переменные окружения


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru