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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





Глава 4. Администрирование баз данных
Пред. След.

4.4. Предотвращение катастроф и восстановление
4.4.6. Использование myisamchk для профилактики таблиц и послеаварийного восстановления

4.4.6.7. Использование myisamchk для послеаварийного восстановления

При выполнении mysqld со --skip-external-locking (установка по умолчанию в некоторых системах, подобных Linux) применение myisamchk для проверки таблицы, когда она используется mysqld, не совсем безопасно. Если есть уверенность, что никто не обратится к таблицам через mysqld во время выполнения myisamchk, то достаточно до начала проверки таблиц выполнить mysqladmin flush-tables, если нет - то на время проверки таблиц необходимо приостановить mysqld. При запуске myisamchk в то время, когда mysqld обновляет таблицы, может быть выдано предупреждение о повреждении таблицы - даже в случае, если этого не произошло.

Если --skip-external-locking не используется, то проверять таблицы с помощью myisamchk можно в любое время. Во время проверки все пытающиеся обновить таблицу клиенты получат возможность сделать это, только дождавшись готовности myisamchk.

Если myisamchk применяется для ремонта или оптимизации таблиц, то всегда необходимо обеспечить отсутствие обращений сервера mysqld к таблице (это также относится к случаю использования --skip-external-locking). Если mysqld не может быть приостановлен, то до myisamchk, как минимум, надо выполнить mysqladmin flush-tables. Таблицы могут быть повреждены, если сервер и myisamchk обратятся к таблицам одновременно.

В данном разделе описывается, как выявлять повреждения данных в базах данных MySQL и что делать с повреждениями дальше. Если таблица повреждается часто, то надо постараться отыскать причину этих повреждений! Обращайтесь к разделу See Раздел A.4.1, «Что делать, если работа MySQL сопровождается постоянными сбоями».

Причины повреждения таблиц рассматриваются также в разделе по таблицам MyISAM. Обращайтесь к разделу See Раздел 7.1.3, «Проблемы с таблицами MyISAM.

При выполнении послеаварийного восстановления важно понимать, что каждой таблице tbl_name в базе данных соответствуют три файла в каталоге базы данных:

ФайлНазначение
tbl_name.frmФайл определения таблицы (формы)
tbl_name.MYDФайл данных
tbl_name.MYIИндексный файл

Каждый из этих трех типов файлов "имеет" свои виды повреждений, но наиболее часто проблемы возникают с файлами данных и индексными файлами.

Во время своей работы myisamchk построчно создает копию файла (данных) .MYD. Стадия исправления завершается тем, что программа удаляет старый файл .MYD и переименовывает новый путем присвоения ему имени исходного. Если используется --quick, myisamchk не создает временного файла .MYD, а, исходя из предположения, что файл .MYD правилен, только формирует новый индексный файл, никак не меняя файл .MYD. Это безопасно, поскольку myisamchk автоматически распознает, что файл .MYD запорчен, и в этом случае прерывает исправление. Можно также задавать для myisamchk две опции --quick. В этом случае myisamchk не прерывается аварийно по некоторым ошибкам (таким как дублирование ключа), а пытается исправить их путем модификации файла .MYD. Обычно использование двух опций --quick имеет смысл только в случае, если свободного места на диске недостаточно для выполнения нормального исправления. Тогда перед запуском myisamchk следует по крайней мере выполнить резервное копирование.


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

Пред. Глава След. Глава
Глава 3. Учебное пособие по MySQL Начало Книги Глава 5. Оптимизация в MySQL


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





Copyright © 2005-2016 Project.Net.Ru