Бэкап базы данных MySQL. Программа MySQLdump
Программа MySQLdump – Создает дамп содержания базы данных MySQL.
Синтаксис:
mysqldump [OPTIONS] [database [table [field]]]
Описание программа MySQLdump:
Программа MySQLdump используется для создания резервной копии (дампа) содержания базы данных MySQL. Она создает файл инструкции SQL с данными и выводит в стандартный вывод (эти инструкции SQL и данные могут быть записаны (переназначены) в файл). При резервировании базу данных MySQL, используя программу mysqldump, нужно убедиться, что в этот момент (в момент резервирования) с базой данных не выполняется никаких других действий (а то mysqldump такого нарезервирует…).
Таблица параметров программа mysqldump (можно использовать короткую (“-”) или подробную версию (“–”) параметро):
| кор. | под. | |
| -# | –debug=[options] | Выводит отладочную информацию. В общем виде ‘d:t:o,filename`. |
| -? | –help | Справка по параметрам (командам) программы. |
| -c | –compleat-insert | Сгенерировать полные инструкции insert (не исключая значений, которые соответствуют значениям столбца по умолчанию). |
| -h | –host=[hostname] | Соединиться с сервером hostname, для сойдинения с удаленным сервером. |
| -d | –no-data | Экспорт только схемы (структуры базы данных) информации (исключая данные). |
| -t | –no-create-info | Экспорт только данных, исключая информацию для создания таблицы (структура базы данных не сохраняется). Противоположность -d. |
| -p | –password=[password] | Пароль пользователя, для соединения с сервером MySQL. В короткой команде нужно писать слитно «-рПароль» (не должно быть пробела между -p и паролем). |
| -q | –quick | Вывод без буферизации результаты запроса, дамп выдается (выводится) непосредственно к STDOUT. |
| -u | –user=[username] | Имя пользователя. Если не задано, используется текущий логин. |
| -v | –verbose | Выводить подробную информацию относительно различных стадий выполнения mysqldump. |
| -V | –version | Информация о версии программы mysqldump. |
| -P | –port=[port] | Порт для связи. |
Примечание:
Можно также напрямую направить вывод mysqldump в клиентскую программу MySQL, чтобы копировать базу данных. Пример:
mysqladmin create foo
mysqldump mysql | mysql foo
Как бэкапить данные в MySQL?
Бэкап структуры:
mysqldump –all –add-drop-table [–all-databases] –force [–no-data] [-c] –password=password –user=user [база] [таблицы] > backup_file
( -c - формировать в виде полных INSERT. –all-databases - бэкап всех баз, –no-data - бэкап только структуры таблиц в базах (без данных таблиц), [таблицы] - бэкапить только указанные таблицы.)
Примечание:
Восстановление из бэкап файла : mysql < backupfile
(для прямой вставки из текстового файла можно воспользоваться программу mysqlimport)
(для анализа структуры базы, например, списка таблиц используй программу: mysqlshow <база>)
21.02.2008 в 21:57
Спасиб большое за инфу,я вот переносил данные и нужно было забэкапить…Помогли)
05.04.2008 в 01:17
Не плохо было бы дамп базы сжимать на лету например так:
# mysqldump –quick db_name | gzip > db_name.contents.gz
05.04.2008 в 15:21
Вот здесь дан конкретный пример с архивацией - Резервное копирование баз MySQL.