П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
                                                 
Главная

О проекте

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

MySQL

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

Хостинг

Другое







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

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

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

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

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

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

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

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

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

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

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

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



 
 



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

E.1. Отладка сервера MySQL
E.1.6. Создание контрольного примера при повреждении таблиц

Когда таблицы оказываются поврежденными или mysqld всегда дает сбой после некоторых команд, то можно провести испытания (если данный сбой воспроизводим). Для этого нужно выполнить следующие действия:

  • Остановите демон MySQL (с помощью команды mysqladmin shutdown).

  • Сделайте резервную копию таблиц (в качестве меры предосторожности на случай, если процесс исправления таблиц пройдет некорректно, хотя это и маловероятно).

  • Проверьте все таблицы с помощью команды myisamchk -s database/*.MYI. Исправьте некорректные таблицы с помощью команды myisamchk -r database/table.MYI.

  • Создайте еще раз резервные копии этих таблиц.

  • Переместите (или удалите совсем) все старые журнальные файлы из каталога данных MySQL, если нужно освободить больше места.

  • Запустите mysqld с --log-bin (see Раздел 4.9.4, «Бинарный журнал обновлений»). Если вы хотите найти запрос, который приводит к сбою mysqld, то следует использовать --log --log-bin.

  • Когда таблица с искажениями будет получена, остановите сервер mysqld.

  • Восстановите систему из резервной копии.

  • Перезапустите сервер mysqld без --log-bin.

  • Выполните заново команды mysqlbinlog update-log-file | mysql. Обновленная запись в журнале сохраняется в каталоге баз данных MySQL с именем hostname-bin.#.

  • Если в результате вышеприведенной команды таблицы опять окажутся поврежденными или вы можете получить сбой в работе mysqld, то, значит, вы нашли повторяющуюся ошибку, которую можно исправить! Загрузите эти таблицы и запись из двоичного журнала по адресу ftp://support.mysql.com/pub/mysql/secret/ и пошлите письмо с описанием данной проблемы на bugs@lists.mysql.com или (если вы являетесь коммерческим пользователем) на support@mysql.com - и команда разработчиков MySQL устранит ошибку настолько быстро, насколько это возможно.

Для локализации проблемы можно также использовать скрипт mysql_find_rows, чтобы просто выполнить ряд обновляющих команд.


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

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


 





Copyright © 2005-2011 Project.Net.Ru