|
Восстановление базы данных. |
Как раскрутить сайт:Каталог - это...Поисковик - это... Поисковики 1993г Поисковики 1994г Список каталогов Каталоги для PR Каталоги белые Каталоги белые Белые каталоги ссылок Белые каталоги ссылок Каталоги Протокол HTTP 1.1 Сайты сателлиты Yandex бан Ошибки начинающих Ошибки webмастера Что Гугл знает? О сайте из Google robots.txt Социалки Расчет PageRank Как раскрутить сайт Причины игнора сайта Фильтры Гугла Хороший дизайн Залог хорошего сайта Софт вебмастеру Выбрать хостинг Платформы хостинга Виртуальный сервер Продвижение сайта Секреты раскрутки 1 Секреты раскрутки 2 Раскруточные мифы Оптимизация под каталоги Заработать на сайте Размещение банеров Защита сайта Спам в поздравлениях SEO продвижение Раскрутка Дорвеями Секреты Гугла Ссылки google ТОП-10 Сниппеты Ключевые слова Редирект Грязная линковка SEO слэнг Подробно о PR Бан партнерки О поисковых системах Внутренние факторы Внешние факторы Индексация сайта Фильтры Различия поисковых Semonitor Сохранить позиции после редизайна Секреты Гугла |
|
Восстановление базы данных из инкрементной копии.
Восстановление базы данных из инкрементной копии mysglbinlog имя_узла-bin.ХХХ I mysgl \ -- options имя_базы Перед тем как восстановить базу данных из инкрементной копии, надо c помощью полной резервной копии восстановить состояние базы на некоторый момент времени, a затем использовать файл двоичного протокола (либо набор таких файлов), в котором зарегистрированы изменения базы c этого момента. Утилита mуsglbinlоg преобразует двоичный протокол в текстовый формат - команды SQL, которые были записаны во время работы. Выходные данные mysglbinlog можно затем передать mysgl точно так же, как и команды, сгенерированные mysgldump. B приведенном выше примере выходные данные mysglbinlog передаются mysgl в рамках конвейерной обработки, но вы также можете сохранить выходную информацию в файле, a затем передать этот файл mysgl, используя средства перенаправления. Ниже пpиведен пример команды, в которой для восстановления базы используется набор файлов двоичных протоколов, содержащихся в текущем каталоге. Двоичные протоколы выбираются последовательно c помощью регулярного выражения. Оболочка формирует список файлов, имена которых удовлетворяют регулярному выражению, и передает каждый из них mysgl. mysglbinlog имя_узла-bin.[0-9]* | \ mysgl -- options имя_базы Поскольку в номерах, содержащихся в именах фaйлов, сохрaняются ведущие нули, оболочка читает файлы в нужной последовательности. Если вы вручную восстанавливаете данные на основе нескольких файлов двоичного протокола, вам надо следить за последовательностью выбора файлов. Восстановление разрyшенных таблиц СHЕСK TABLE таблица; REPAIR TABLE таблица; Бывает, что файлы данных MySQL разрушаются и требуют восстановления. Проще всего проверить целостность таблицы путем выполнения команды СНЕСК TABLE. Приведенное ниже выражение проверяет нaличие ошибок в таблице book. СНЕСК TABLE book; Если выходные данные выглядят подобно приведенным ниже, значит, таблица в порядке, и действия по ее восстановлению выполнять не нижно.
B некоторых случаях в столбце Msg_text появляются сообщения об ошибках. B этом случае надо выполнить комaнду REPAIR TABLE, и MySQL предпримет попытку устранить проблему. Утилита myisamchk, поставляемая c MySQL, позволяет проверять и восстанавливать таблицы MyISAM, обeспечивaя при этом бoлее высокую степень гибкости по сравнению c командами SQL. Если при запуске myisamchk не указаны опции, данная программа лишь проверяет таблицу на нaличие ошибок. Ряд опции командной строки позволяют получить дополнительную информацию или указать утилите на то, что необходимо начать процесс восстановления данных. Файлы c таблицами MyISAM, проверяемые утилитой myisamchk, находятся в каталоге, предназначенном для хранения данных, и имеют расширение MYI. Если данные размещены в катaлоге /var/lib/mуsql, вы можете проверить все таблицы в базе sampdb c помощью следующей команды: myisamchk /var/lib/mysgl/sampdb/*.MYI Как правило, для быстрой проверки используется опция - f а s t. Она указывает на то, что проверке подлежат лишь таблицы, которые были закрыты не корректно. Опция --medium-check зaдает более детальную проверку таблиц, при которой могут быть найдены разнообразные ошибки. Самая тщательная проверка осуществляется при указании опции --extend-chесk, но она выполняется очень медленно. Данная опция используется только в том случае, если --medium-check не позволяет выявить проблему. После того как вы выяснили, что таблица разрушена, можно приступать к ее восстановлению. Для этой цели служит опция --recover. Перед тем как пытаться восстановить таблицу c помощью mуisаmchk, вам надо остановить mysgld. Если сервер выполнит запись в таблицу в то время, когда осуществляются действия по ее восстановлению, результаты могут быть непредсказуемыми. B некоторых случаях проrрамма mуisатсhk сообщает o том, что в данном режиме она не может устранить проблему, и вам необходимо задать опцию --safe-recover. При указании этой опции осуществляются дополнительные операции по восстановлению данных, но работа существенно замедляется. Отказ сервера Если сбои сервера MySQL происходят слишком часто, необходимо выяснить причину происходящего. Несмотря на то что система MySQL тщательно протестирована, ошибки все же не исключены, и вам необходимо знать, кaк найти источник проблемы. B первую очередь надо убедиться, что причиной отказов является сервер MySQL, a не клиентская программа. Проверьте отрезок времени, в течение которого работает сервер, используя для этого комaнду mysgladmin version. Выходные данные должны выглядеть подобно приведенным ниже. uptime: 109 days 23 hours 31 min 51 sec B данном случае сервер работает в течение длительного времени, поэтому ясно, что программа mysgld выполняется без сбоев. Необходимо заняться отладкой клиентской программы. Если из информации, которую предоставит рассмотренная выше команда, ясно, что время работы сервера мало либо программа mуsqld вовсе не работает, то первое, что надо сделать - это убедиться в том, что таблицы не повреждены. Остановите mysgld и, находясь в каталоге c данными, выполните приведенную ниже команду. Таким образом вы проверите каждую таблицу в системе. myisamchk --silent --force */*.MYI Перезапустите mysgld, указав в командной строке параметр - -lоg, либо включите опцию lоg в раздел [mysgld] файла mу.cnf. Каждая SQL-команда будет зарегистрирована в файле, и вы сможете попытаться повторно выполнить последовательность действий, которая привела к сбою. Перед тем как составлять отчет o найденной ошибке, ознакомьтесь c информaцией об уже обнаруженных недостатках программы, представленной по адресу bugs.mysgl.соm. Причиной отказов может быть также неисправность аппаратных средств. B частности, характерные ошибки MySQL могут быть вызваны неисправностью оперативной памяти или жесткого диска. Если вы наблюдаете необъяснимые сбои сервера в произвольные моменты времени, тщательно проверьте аппаратуру. Пер. с англ. - М.: ООО "И.Д.Вильямс", 2006. |
Основы MySQL:ВведениеСхема MySQL Управление базами Создание баз Создание таблиц Создание столбцов Идентификаторы Хранение данных Включение даты Импорт данных Включение данных Простые запросы Устранение повторов Обработка значений Значения NULL Обработка данных Оновление значений Безопасность Удаление записей Установка паролей Установка привилегий Клиентская часть Параметры соединения MySQL АРI Запросы АРI АРI для Perl РНР АРI Расширенные запросы Ключевое слово JOIN Вложенные запросы Выбор результатов Проблемы MySQL Восстановление базы Частые ошибки Кол-во соединений Подготовка к работе В курс дела Имена столбцов Внесение данных Внесение данных 2 Особенности таблиц Еще о таблицах |