|
Проблемы, возникающие при работе c MySQL. |
Как раскрутить сайт:Каталог - это...Поисковик - это... Поисковики 1993г Поисковики 1994г Список каталогов Каталоги для PR Каталоги белые Каталоги белые Белые каталоги ссылок Белые каталоги ссылок Каталоги Протокол HTTP 1.1 Сайты сателлиты Yandex бан Ошибки начинающих Ошибки webмастера Что Гугл знает? О сайте из Google robots.txt Социалки Расчет PageRank Как раскрутить сайт Причины игнора сайта Фильтры Гугла Хороший дизайн
Может пригодиться:
Залог хорошего сайта Софт вебмастеру Выбрать хостинг Платформы хостинга Виртуальный сервер Продвижение сайта Секреты раскрутки 1 Секреты раскрутки 2 Раскруточные мифы Оптимизация под каталоги Заработать на сайте Размещение банеров Защита сайта Спам в поздравлениях SEO продвижение Раскрутка Дорвеями Секреты Гугла Ссылки google ТОП-10 Сниппеты Ключевые слова Редирект Грязная линковка SEO слэнг Подробно о PR Бан партнерки
Реклама:
О поисковых системах Внутренние факторы Внешние факторы Индексация сайта Фильтры Различия поисковых Semonitor Сохранить позиции после редизайна Секреты Гугла |
|
Проблемы, возникающие при работе c MySQL.
используя базу данных MySQL, надо принять меры для устранения последствий ошибок и сбоев в работе. B данной главе речь пойдет o создании резервных копий и восстановлении базы данных. Мы также рассмотрим проблемы, которые могут возникнуть при работе c базой данных MySQL. Резервное копирование Работая c данными, крайне важно регулярно создавать их резервные копии. Стратегия резервного копирования зависит от многих факторов, в частности, от того, насколько часто обновляется база, и от того, насколько критично иметь постоянный доступ к ней. Планировать работу c резервными копиями надо так, чтобы при нежелательном развитии событии можно было быстро восстановить сервер баз данных и важная информация не была утеряна. Полные peзервные копии mysgldump --ивег=пользователь --host=узел \ --port=порт --password=naponь \ имя_базы имя_файла.sql Kоманда mysgldump выводит содержимое базы данных в виде набора SQL-файлов. Каждая таблица преобразуется в выражение CREATE TABLE, a строки конвертируются в операторы INSERT. По умолчанию команды SQL выводятся на экран, поэтому для создания резервной копии нaдо перенаправить вывод в файл. Имя базы данных для резервного копирования определяется на основании параметров соединения. При необходимости можно задать имена таблиц. Если вы не сделаете этого, будет скопирована вся база данных. Приведенная ниже комaнда задает копирование только таблиц book и person. mysgldump --user=zak --password=phrasebook \ sampdb book person > sampdb.sgl B данном примере оппии host и port не указаны, поэтому в результате выполнения команды будет предпринята попытка соединения c сервером MySQL, который выполняется на локальной машине и использует порт по умолчанию. Ecли вы хотите указать для mysgldump несколько баз дaнных, нaдо использовать опцию --databases. Все последующие имена будут интерпретированы кaк имена баз данных. Нaпример, следующая команда копирует две базы данных, dbl и db2: mysgldump --user=zak --password=phrasebook \ --databases db1 db2 > dump.sgl для того чтобы посредством одной операции скопировать все базы данных на сервере MysQL, надо использовать опцию --all-databases. Выполнение инкрементного копирования log-bin Процедура полного резервного копирования требует большого количества ресурсов. Каждая строка каждой таблицы должна быть передана программе mysgldump, a затем записана в файл. Kопирование на сервере, обслуживающем пользователей, может привести к существенному снижению его производительности. Альтернативным решением является инкрементное копирование, основанное на двоичном протоколировании, реализованном в MySQL. Для активизации двоичного протоколирования надо включить в файл mу.cnf опцию log-bin и перезагрузить сервер MySQL. Тот же результат можно получить, указав при запуске mуsg1d опцию --log-bin. Данные, сгенерированные в результате двоичного протоколирования, записываются в рабочий каталог пользователя mysgl, обычно /var/1ib/mysgl. По умолчанию принимается имя файла имя_ узла-bin.ХХХ. Здесь имеется в виду узел, на котором выполняется сервер, a буквами ХХХ обозначается последовательный номер. При каждом перезапуске сервера MySQL либо при выполнении команды FLUEН LOGE создается новый двоичный протокол. Двоичный протокол содержит выполненные выражения SQL, которые предполагают обновление данных. Записи подлежат команды UPDATE, INSERT и DELETE, независимо от того, привели ли они к реaльному изменению данных. Так, например, команда UPDATE, в которой выражению WHERE не соответствует ни одна строка, будет зарегистрирована. Данный уровень протоколирования позволяет привести базу, полyченную путем восстановления на основе полной резервной копии, к текущему состоянию. Для успешного восстановления двоичные протоколы должны начинаться c транзакций, которые имели место непосредственно после создания полной резервной копии. Для того чтобы синхронизировать двоичный протокол c резервной копией, надо использовать для mysgldump опцию --flush-logs. Она приводит к выполнению команды FLUSH LOGE сразу после начaла копирования. Дальнейшая работа c базой данных будет зафиксирована в следующем двоичном протоколе. Нетрудно догадаться, что запись двоичного протокола влияет на быстродействие сервера, но преимущества многократно окупают снижение производительности. Согласно сведениям, приведенным в документации на MySQL, двоичное резервирование снижает быстродействие приблизительно на 1%. Восстановление из резервной копии Теперь, когда вы имеете представление o стратегии резервного копирования, рассмотрим, как восстанавливать базу дaнных в слyчае потери информации. Восстановление данных из полной резервной копии mysgl --user=пользователь --host=yзeл \ --рогt=порт --password=napoль \ имя_базы < имя_файла.sq1 Поскольку выходными данными mysgldump является набор SQL-команд, восстановить базy можно c помощью одной операции, передав содержимое файла c резервной копией программе mysgl. Если вы используете при восстановлении то же имя, которое база данных имела при создании резервной копии, существующие таблицы будет перезаписаны. B состав выходных данных mу sql dumр для каждой копируемой таблицы включается выражение DRОР TABLE. Если файл c резервной копией создан для одной базы данных, он не содержит выражения CREATE DATABASE, поэтому вы можете восстановить базу c другим именем, указав его при запуске mysgl. Если при запуске mysgldump была указана опция --all-databases или --databases, для каждой базы данных в состав резервной копии автоматически включается команда CREATE DATABASE.
Спонсор сайта:
Пер. с англ. - М.: ООО "И.Д.Вильямс", 2006. |
Основы MySQL:ВведениеСхема MySQL Управление базами Создание баз Создание таблиц Создание столбцов Идентификаторы Хранение данных Включение даты Импорт данных Включение данных Простые запросы Устранение повторов Обработка значений Значения NULL Обработка данных Оновление значений Безопасность Удаление записей
Спонсор сайта:
Установка паролей Установка привилегий Клиентская часть Параметры соединения MySQL АРI Запросы АРI АРI для Perl РНР АРI Расширенные запросы Ключевое слово JOIN Вложенные запросы Выбор результатов Проблемы MySQL Восстановление базы Частые ошибки Кол-во соединений Подготовка к работе В курс дела Имена столбцов
Реклама:
Внесение данных Внесение данных 2 Особенности таблиц Еще о таблицах |