Кроме протоколирования всех событий и оптимизации таблиц, администратор должен позаботиться о том, чтобы избежать потери данных. Это достигается регулярным резервным копированием информации. Внимательное изучение рекомендаций данного раздела поможет встретить во всеоружии любой удар судьбы.
Резервное копирование баз данных и таблиц
В СУБД 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.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
Все о MySQL. Резервное копирование и восстановление информации
28-12-2009
<< Предыдущая статья | Следующая статья >> |
Все о MySQL. Восстановление таблиц | Все о MySQL. Восстановление таблиц и баз данных по резервным копиям |