ТОП-10 популярных


НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...


Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...

Internet2, или cтарые песни о новом
Когда-то на заре Интернета, тогдаеще военно-научной сетиAPRAnet, были заложены основныепринципы функционирования«Сети сетей». В их числе — использованиепротокола, называемого сейчасIPv4. В...

Все о MySQL. Резервное копирование и восстановление информации


28-12-2009

Кроме протоколирования всех событий и оптимизации таблиц, администратор должен позаботиться о том, чтобы избежать потери данных. Это достигается регулярным резервным копированием информации. Внимательное изучение рекомендаций данного раздела поможет встретить во всеоружии любой удар судьбы.
Резервное копирование баз данных и таблиц
В СУБД MySQL предусмотрена такая нужная утилита, как mysqldump, которая ис­пользуется для создания резервных копий существующей базы данных или отдельных ее таблиц. В данном разделе говорится также о том, как экспортировать информацию из ре­зервной копии в любую другую базу данных: mysqldump имя-базы-данных
Ниже представлен пример ее использования.
Листинг 15.12.
[user@host]# /usr/local/mysql/bin/mysqldump dbl --user=john --password=hoonose
Это процедура выводит на экран операторы, изменявшие содержимое базы данных dbl (см. рис. l5.1).
Резервное копирование и восстановление информации
Заметим, что на рис. 15.1 утилита mysqldump выводит на экран операторы SQL. Это облегчает восстановление таблиц и их содержимого. Как и с утилитой mysql, при работе с утилитой mysqldump можно использовать параметры - -user и - -password для ав­торизации пользователя.
Чистый лист
Если данные, имеющиеся в резервной копии, повреждены, лучше всего удалить поврежденные таблицы или всю базу данных сразу с помощью команд DROP TABLE или DROP DATABASE. После этого можно создать базу данных снова. Восстановить данные помогут команды, полученные с помощью утилиты mysqldump (см. рис. 15.1).
Но что делать, если дамп всей базы данных не нужен? Здесь поможет утилита mysqldump. Рассмотрим пример.
Листинг 15.13.
[root@host]# /usr/local/mysql/bin/mysqldump dbl name address --user=john --password=hoonose
Эта команда выводит содержимое только таблиц name и address из базы данных dbl.
На практике лучше сохранять выводимые данные в файл, а не выводить их на экран. И в Unix, и в Windows этого можно добиться использованием оператора переадресации >, как в следующем примере.
Листинг 15.14.
[user@host]# /usr/local/mysql/bin/mysqldump dbl name address > my-dump.txt
Результатом выполнения данной команды будет текстовый файл mydump.txt, в котором содержатся команды, необходимые для восстановления таблиц name и address из базы данных dbl .
Для того чтобы сделать резервную копию более чем одной базы данных, можно вос­пользоваться параметром -B.
Листинг 15.15.
[user@host]# /usr/local/mysql/bin/mysqldump -B dbl db2 Дилемма разделителя
При работе с утилитой mysqldump, вполне возможно управлять символами раз­деления и выделения полей. Для этого предназначаются параметры --fields-enclosed-by, --fields-terminated-by, --fields-escaped-by и --lines-terminated-by. Это очень удобно при импортировании данных в различные СУБД и программы.
При использовании параметра -B имя таблицы не задается, т.к. этот параметр указывает, что создается резервная копия более чем одной базы данных. Поэтому при выполнении операции такого рода, задавать имена таблиц нет смысла.
А если вы хотите создать таблицу с такой же структурой, но с другими данными? Опять на помощь приходит утилита mysqldump. Параметр -d позволяет резервировать только структуру таблицы. Это подтверждает следующий пример. 
Листинг 15.16.
[user@host]# /usr/local/mysql/bin/mysqldump -d dbl users > us-ers.structure
В результате будет получен файл дампа, содержащий команды SQL, предназначенные для создания пустой копии таблицы users. Есть и возможность добиться обратного эффекта: зарезервировать только содержимое таблиц. Для такого случая в утилите mysqldump предусмотрен параметр -t. Таким образом, можно получить файл, содержащий команды INSERT, которые необходимо выполнять на указанной таблице. Единственное, что при этом не дублируется, - это команда по созданию таблицы.
Листинг 15.17.
[user@host]# /usr/local/mysql/bin/mysqldump -t dbl employees > employ-ees.data
Записи из таблицы employees теперь готовы для импорта в любую другую программу, которая может обрабатывать операторы SQL.

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
Все о MySQL. Восстановление таблиц Все о MySQL. Восстановление таблиц и баз данных по резервным копиям