MySQL

:: DEVELOPER ZONE

Login / Register

  • MySQL.com
  • Developer Zone
  • Partners
  • Online Shop
  • Downloads
  • Documentation
  • Forums
  • Lists
  • Bugs
  • Events
  • User Groups
  • Guilds
  • Blogs
  • Support
  • Resources
  • Books
  • FAQ

Справочное руководство по MySQL 4.0. :: A Проблемы и распространенные ошибки :: A.4 Вопросы, связанные с администрированием :: A.4.1 Что делать, если работа MySQL сопровождается постоянными сбоями

  • Overview
  • MySQL Reference Manual
  • MaxDB Documentation
  • Connectors

Search the MySQL manual:


  • Справочное руководство по MySQL 4.0.

  • A.4 Вопросы, связанные с администрированием
  • A.4.1 Что делать, если работа MySQL сопровождается постоянными сбоями
  • A.4.2 Как переустановить забытый пароль пользователя root
  • A.4.3 Как MySQL реагирует на переполнение диска
  • A.4.4 Где MySQL хранит временные файлы
  • A.4.5 Как защитить или изменить сокет-файл MySQL /tmp/mysql.sock
  • A.4.6 Проблемы с часовыми поясами

Get the MySQL Language Reference and MySQL Administrator's Guide from MySQL Press!


Additional languages

  • German


Learn about new MySQL releases, technical articles, events and more.

Subscribe to the monthly MySQL Newsletter!


Previous / Next / Up / Table of Contents

A.4.1. Что делать, если работа MySQL сопровождается постоянными сбоями

Перед официальным выпуском все версии MySQL тестируются на многих платформах. Это не означает, что в MySQL совсем нет ошибок, но если они и есть, то мало, и их не так просто отыскать. В любом случае, столкнувшись с какой-либо проблемой, всегда полезно попытаться точно определить, что вызывает аварию системы, - тогда шансы, что проблема будет устранена в скором времени, станут значительно выше.

Сначала надо попробовать локализовать проблему. Определите, что происходит: то ли демон mysqld прекращает работу, то ли проблема связана с клиентом. Узнать, сколько времени сервер mysqld уже работает, можно, выполнив mysqladmin version. Если mysqld прекратил выполнение, то для выяснения причин можно изучить файл mysql-data-directory/`hostname`.err (see Раздел 4.9.1, «Журнал ошибок»).

Причиной многих аварий MySQL являются поврежденные индексные файлы или файлы данных. MySQL обновляет данные на диске, используя системный вызов write(), после каждой команды SQL и до того, как клиент будет уведомлен о результате (однако при выполнении с delay_key_write это не так: записываются только данные). Отсюда следует, что данные не пострадают даже в случае аварийного завершения mysqld, поскольку ОС позаботится о том, чтобы те данные, которые не сброшены, были записаны на диск. Можно заставить MySQL сбрасывать все на диск после каждой SQL-команды, запустив mysqld с --flush.

Все это означает, что обычно таблицы не должны повреждаться; исключение составляют следующие случаи:

  • Кто-нибудь/что-нибудь убьет процесс mysqld или выключит машину посреди операции обновления.

  • Проявила себя ошибка в mysqld, вызывающая прекращение его выполнения посреди операции обновления.

  • Кто-нибудь работает с файлами данных или индексными файлами вне