Каталог статей
Поиск по базе статей  
Статья на тему Интернет » Интересное в сети » Резервное копирование баз MySQL

 

Резервное копирование баз MySQL

 

 

Для современных сайтов базы данных стали неотъемлемой частью. Информация, которая в них хранится, очень важна для работы сайта или сервиса, иногда перекрывая по стоимости весь сайт и даже аппаратное обеспечение. Поэтому создание резервных копий информации из баз данных является важной задачей для владельца или администратора. В случае администрирования сервера хостинг-провайдером услуга резервирования является базовой и осуществляется для всего сервера по расписанию — к примеру, раз в сутки. Но часто возникает потребность самому создать копию информации с базы данных.

загрузка...

 

 

Так как наиболее часто используется сервер баз данных MySQL, то далее мы будем считать, что именно он установлен на сайте.

Есть несколько методов создания резервных копий базы данных:

• Метод прямого копирования;
• Создание дампа таблицы посредством операторов SQL;
• Служебными утилитами MySQL;
• Через менеджер БД (к примеру, phpMyAdmin);
• Используя специальные программы.

Прямое копирование — самый быстрый метод Метод прямого копирования — самый простой. MySQL хранит каждую базу данных в отдельном каталоге (/data/), а каждая таблица хранится в одном или нескольких файлах (в действительности это три файла с разными расширениями: в одном хранится структура информации, в другом — непосредственно сами данные таблицы, в третьем – индексы). Поэтому самый очевидный путь (и самый быстрый) – это скопировать все файлы с каталога базы (если у вас одна база), или только необходимые таблицы и каталоги БД. Но существует ряд ограничений. Методом простого копирования можно переносить только таблицы формата MyISAM, которые не зависят от платформы. Иначе таблицы, созданные в других форматах, будут работать только на компьютерах одной архитектуры (наиболее распространенный вариант – х86). Это значит, что если у вас компьютер x86, то вы можете перенести таблицы только на сервер такой же архитектуры. Кроме указанных ограничений, есть и налагаемые самой операционной системой – ограничения на размер файла, зависимость от регистра имен файлов (имя файла с данными таблицы – это название таблицы, а MySQL сможет правильно трактовать только идентичные файлы). А самое важное – таким образом нельзя скопировать открытые таблицы (вернее можно, но целостность информации не гарантируется), для резервирования желательно остановить сервер БД, а это может быть неприемлемым.

Метод прямого копирования наиболее удобен только для копирования в границах одного компьютера – к примеру, сначала копируем базу в отдельный каталог, потом архивируем ее, а архив переносим на внешний носитель или удаленный компьютер. Сразу передавать по сети файлы базы не рекомендуется – они подчас имеют объем в сотни мегабайт.

В синтаксисе языка SQL, который применяется в MySQL, предусмотрена специальная форма оператора выборки данных SELECT, которая выбирает данные из таблицы и записывает их в текстовый файл. Оператор выглядит таким образом:

SELECT * INTO OUTFILE "data.sql" FIELDS TERMINATED BY «,» FROM datatbl

В запросе можно указать дополнительные опции — в частности, как разделять текстовые поля — VARCHAR, CHAR и TEXT:

TERMINATED BY «xx» – определяет символ, разграничивающий значения в строке;
[OPTIONALLY] ENCLOSED BY «xx» – определяет символ кавычек для ограничения значения поля. Опция OPTIONALLY применяется для указания, что в кавычках заключены только поля CHAR и VARCHAR;
ESCAPED BY «xx» – определяет символ, который указывает на то, что следующий символ в строке — специальный;

Ограничения такого метода также существенны: можно переносить только одну таблицу за раз. Хотя с большими возможностями – ведь в операторе выборки SELECT можно использовать предложение WHERE. Кроме того, индексы не переносятся, и, к тому же, не сохраняется информация о структуре таблицы – для переноса обратно таблица уже должна существовать на сервере.

mysqldump входит в дистрибутивМетод резервирования с использованием служебных утилит MySQL аналогичен применению команд SQL, так как эти команды — всего лишь надстройка к утилитам командной строки. Сама программа называется mysqldump, а результатом ее работы является простой текстовый файл, который может быть довольно значительным по объему. Несмотря на обилие опций, работа с mysqldump очень простая.

mysqldump mydase [tables] "base_dumps.sql"

Можно указать базу, а также отдельные таблицы внутри базы, которые надо скопировать. Опция --databases base1 base2 позволяет скопировать несколько БД, а опция --all-databases копирует все размещенные на сервере базы. Рекомендуется всегда задавать опцию оптимизации процесса --opt (который может быть долгим и серьезно загружать сервер БД). При задании этой опции самостоятельно больше ничего делать не надо, сервер сам заблокирует от изменений все таблицы и скопирует их, восстановив впоследствии доступ. Для форматирования вывода можно применять все опции оператора LOAD DATA, только их синтаксис меняется – опции начинаются с символа "--", а вместо пробела – "-"., значение опции присваивается знаком "=". Например, --lines-terminated-by="\r\n".

phpMyAdmin позволяет легко скопировать отдельные таблицы и базы Если для управления базами вы используете популярный менеджер phpMyAdmin (он присутствует как стандартный скрипт на большинстве хостингов), то процесс резервирования упрощается. Через графический интерфейс вы можете настроить все необходимые параметры резервирования и выбрать формат готового файла. Самое интересное – phpMyAdmin может самостоятельно заархивировать полученный дамп базы и выдать его вашему браузеру для закачки. Эту возможность желательно использовать всегда, так как по умолчанию вся информация выводит в окно браузера, что при больших объемах приводит к замедлению работы и зависанию браузера.

MySQL Export имеет очень мощные опции форматирования и экспортаИ, наконец, самый легкий путь – воспользоваться специальными утилитами для импорта/экспорта информации. К примеру, известная компания EMS имеет в своем наборе утилит программу MySQL Export. Утилита может экспортировать таблицы MySQL во множество разных форматов – как в таблицы других БД (Access, DBF), так и форматы RTF, XML, MS Word, CSV и другие. Определенным недостатком является то, что одновременно можно работать только с одной базой, размещенной на локальном компьютере, или удаленным сервером. Но удобство и богатство настроек экспорта сразу выводят эту программу в лидеры – ни один другой способ резервирования не позволяет так тонко настроить все параметры. Однако отсутствие встроенной возможности архивировать полученные данные затрудняют работу с большими данными.

Для периодического резервирования на стороне сервера идеально подходит утилита mysqldump — один раз настроив все параметры, ее можно запускать по расписанию через cron. Если же надо срочно получить копию базы или отдельных таблиц, для этого подойдет установленный на сервере пакет phpMyAdmin, тем более что такое решение независимо от пользователя – он может работать как с дома или рабочего места, так и с компьютерного клуба, лишь бы Интернет был. Но когда необходимо постоянно работать с информацией из баз, переносить ее между разными платформами и приложениями, то утилита EMS MySQL Export является лучшим выбором.

Ссылки по теме




Статья получена: hostinfo.ru
загрузка...

 

 

Наверх


Постоянная ссылка на статью "Резервное копирование баз MySQL":


Рассказать другу

Оценка: 4.0 (голосов: 16)

Ваша оценка:

Ваш комментарий

Имя:
Сообщение:
Защитный код: включите графику
 
 



Поиск по базе статей:





Темы статей






Новые статьи

Противовирусные препараты: за и против Добро пожаловать в Армению. Знакомство с Арменией Крыша из сэндвич панелей для индивидуального строительства Возможно ли отменить договор купли-продажи квартиры, если он был уже подписан Как выбрать блеск для губ Чего боятся мужчины Как побороть страх перед неизвестностью Газон на участке своими руками Как правильно стирать шторы Как просто бросить курить

Вместе с этой статьей обычно читают:

Защита от форс-мажора (резервное копирование)

Знакомая ситуация — веб-проект, на который ушло несчитанное количество человеко-часов, был просто уничтожен ошибкой при работе с базой, установкой непроверенного компонента, сбоем в работе системы и т.д. Чтобы избежать бессмысленной потери времени (а равно как нервов и драгоценного сна), рекомендуется делать резервное копирование данных. Резервное копирование необходимо для возможности быстрого и недорогого восстановления информации (документов, программ, настроек и т. д.) ...

» Продвижение и оптимизация - 3828 - читать


Импорт данных в&nb p;базы MySQL

В предыдущей статье — « Резервирование баз MySQL» — рассказывалось о методах и инструментах создания резервных копий информации из таблиц MySQL. Но не менее часто возникает и другая, обратная задача — загрузить существующую информацию в базу данных или отдельную таблицу.

» Интересное в сети - 3685 - читать


Регламентное обслуживание базы данных MySQL

Вы скажете, что процесс разделения файловых квот и обслуживание таблиц базы данных — понятия различные. И будете абсолютно правы. Но в современном деловом мире администратору сети часто приходится решать настолько не свойственные самому процессу администрирования задачи, что порой удивляешься.

» Интересное в сети - 3435 - читать


Сoздание базы данных в&nb p;MySQL

Когда в веб-проекте возникает необходимость использования базы данных, то первым шагом, естественно, станет вопрос ее создания. Как правило, если ваш провайдер предоставляет в своих услугах базу данных, то, скорее всего, есть и веб-интерфейс управления хостингом, с помощью которого можно создать базу данных (или несколько). Но не исключено, что на первом этапе вы будете создавать и тестировать веб-проект на вашем компьютере, превращенном в тестовый веб-сервер, и там создать ...

» Интересное в сети - 2724 - читать


Управление доступом к&nb p;базам MySQL

Система управления базами данных MySQL очень часто применяется для хранения важной информации на веб-сайтах. Если это обычный сайт или форум – в базе могут храниться сообщения пользователей, данные для динамических страниц, данные о посещениях, если это какой-либо интерактивный сервис, то кроме данных про доступ (конфиденциальных), там хранится и другая информация о пользователе и его действиях. Все это приводит к тому, что общая безопасность сайта, вернее всей веб-системы, ...

» Интересное в сети - 1879 - читать



Статья на тему Интернет » Интересное в сети » Резервное копирование баз MySQL

Все статьи | Разделы | Поиск | Добавить статью | Контакты

© Art.Thelib.Ru, 2006-2024, при копировании материалов, прямая индексируемая ссылка на сайт обязательна.

Энциклопедия Art.Thelib.Ru