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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





Глава 7. Типы таблиц MySQL
Пред.     След.

7.1. Таблицы MyISAM
7.1.3. Проблемы с таблицами MyISAM.

7.1.3.2. Клиенты неправильно используют таблицу или не закрыли ее надлежащим образом

В заголовке каждого файла MyISAM .MYI имеется счетчик, который может использоваться для проверки правильности закрытия таблицы.

Если при выполнении команд CHECK TABLE или myisamchk выдается следующая ошибка:

# clients is using or hasn't closed the table properly

значит, нарушена синхронность счетчика. Это не означает, что таблица повреждена, но необходимо произвести проверку и убедиться, что все в порядке.

Счетчик работает следующим образом:

  • Во время первого обновления таблицы в MySQL значение счетчика в заголовках индексных файлов увеличивается.

  • Во время следующих обновлений значение счетчика не изменяется.

  • После закрытия последней записи таблицы (после применения команды FLUSH или из-за отсутствия места в кэше таблицы) значение счетчика уменьшается, если в таблицу были внесены изменения.

  • Если производится проверка таблицы, или проверка показывает, что все в порядке, счетчик устанавливается в значение 0.

  • Чтобы избежать пересечения с другими процессами, которые могут проверять таблицу, при закрытии значение счетчика не уменьшается, если счетчик установлен в значение 0.

Иначе говоря, синхронность может быть нарушена следующим образом:

  • Таблицы MyISAM копируются без команд LOCK и FLUSH TABLES.

  • Между обновлением и последним закрытием произошел сбой MySQL (обратите внимание: с таблицей все может быть в порядке, так как MySQL документирует все изменения между выполнением каждого из операторов).

  • Кто-то применил команду myisamchk --recover или myisamchk --update-state к таблице, которая в данный момент использовалась mysqld.

Таблицу используют несколько серверов mysqld, и один из них выполнил команду REPAIR или CHECK по отношению к таблице, с которой работал другой сервер. В этом случае можно выполнить команду CHECK (даже если другие серверы выдают предупреждения), но команды REPAIR следует избегать, так как она заменяет файл данных новым, информация о котором не передается другим серверам.


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

Пред. Глава След. Глава
Глава 6. Справочник по языку MySQL Начало Книги Глава 8. Интерфейсы для MySQL


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





Copyright © 2005-2016 Project.Net.Ru