Использование mysqldump

Бекап всех баз данных

Бекап конкретной базы данных

Бекап конкретной базы данных с  экспортом хранимых процедур и функций

Бекап нескольких баз данных

Бекап конкретных таблиц  hzesp_schemas hzesp_session  из базы данных joomla_on

Резервное копирование структуры таблицы

Резервное копирование содержимого таблицы

Резервное копирование ТОЛЬКО процедур и функций

(без создания структуры и данных базы данных)

 Резервное копирование   базы данных с удаленного сервера в файл на локальном компьютере

 

Восстановление базы данных из бекапа

(предварительно нужно создать эту базу. Если не хочется  предварительно создавать базу данных, значит нужно использовать опцию –databases при создании бекапа  mysqldump —database …)

Восстановление базы на удаленном сервере из файла на локальном сервере

Восстановление базы на удаленном сервере из бекапа созданного на локальном сервере

Если доступ к MySQL на удаленном сервере закрыт,то делаем через ssh-подключение

Удаленное создание дампа базы  database через ssh c выгрузкой на локальный сервер в файл /tmp/database.sql

Удаленное создание дампа базы  database через ssh и вливание этого дампа в локальную базу test

Полезные опции mysqldump расписаны ниже

Восстановление всех баз данных

Восстановление таблицы(указываем в какую базу данных восстановить)

При создании дампа базы данных в СУБД MySQL с помощью утилиты mysqldump она по умолчанию делает таблицы недоступными на запись на все время создания дампа. Это приводит к негативным последствиям, например, в случае использования форума phpBB.

При каждом заходе на форум phpBB в MySQL обновляются некоторые данные (производятся не только операции чтения, но и операции записи). В итоге, при использовании mysqldump в режиме по умолчанию форум будет недоступен все время выполнения дампа.

Решение этой проблемы в случае использования движка хранения данных InnoDB весьма тривиально. У mysqldump есть опция

, которая добавляет SQL-выражение BEGIN перед дампом всех данных из БД, что позволяет получить дамп одной транзакцией, без блокировки таблиц.

Для MyISAM можно воспользоваться опцией

, которая блокирует таблицы с помощью READ LOCAL, что позволяет выполнять запросы INSERT в MyISAM-таблицы во время выполнения дампа.

Кроме того, при дампе больших таблиц с помощью mysqldump рекомендуется использовать опцию

 

Использование клиентской утилиты mysql в интерактивном режиме()

 

Параметры программы Mysqldump

Вывод справки по опциям и используемым переменным.

Добавляет команду, DROP DATABASE перед каждой командой CREATE DATABASE

Добавляет команду, DROP TABLE перед каждой командой CREATE TABLE

Обрамляет дамп командами LOCK TABLES и UNLOCK TABLES, для ускорения операций вставки.

Создает полную резервную копию всех баз данных, текущего сервера.

Разрешить имена столбцов, совпадающие с зарезервированными ключевыми словами. К имени такого столбца, добавляется префикс таблицы.

Директории с установленными наборами символов кодировок

Добавить в файл дампа, дополнительную информацию ( например, версию программы, версию MySQL, имя хоста ), отменяется опцией —skip-comments

Создает более компактный дамп. Использование данного параметра, автоматически включает опции: —skip-add-drop-table, —skip-add-locks, —skip-comments, —skip-disable-keys и —skip-set-charset.

Данная опция, пытается повысить совместимость создаваемого дампа, с базой данных другого типа или с более старой версией MySQL. Возможные значения: ansi, mysql323, mysql40, postgresql, oracle, mssql, db2, maxdb, no_key_options, no_table_options или no_field_options. Можно использовать несколько значений, разделенных запятыми.

Использовать полную форму оператора INSERT, включая имена столбцов.

Использовать компрессию, при пересылке данных между клиентом и сервером, при условии, что они оба поддерживают компрессию.

Включать все MySQL опции при использовании оператора CREATE TABLE.

Делать дамп нескольких баз данных, перечисленных после данной опции. Без этого параметра, mysqldump, воспринимает в качестве имени базы данных, первое значение, остальные интерпретируются как имена таблиц.

Донная опция устанавливает кодировку по-умолчанию. Если не определена, используется utf8, в ранних версиях latin1.

Вместо оператора INSERT, использовать INSERT DELAYED.

Удалять бинарный лог на основном сервере репликаций после создания дампа. При использовании этой опции, автоматически включается опция —master-data.

Оператор INSERT для каждой таблицы, обрамляется выражением /*!40000 ALTER TABLE tbl_name DISABLE KEYS */ и /*!40000 ALTER TABLE tbl_name ENABLE KEYS */. Данная опция ускоряет загрузку при восстановлении из дампа, для таблиц типа MyISAM, за счет того, что индексы создаются после вставки всех данных.

Если включена опция —comments, добавлять дату создания дампа.

Использовать многострочный синтаксис оператора INSERT. Уменьшает размер дампа и ускоряет последующую вставку данных.

Переоткрыть лог файлы, перед созданием резервной копии. Старый файл будет сохранен с суффиксом -old. При использовании с опцией —all-databases ( сокращенный вариант -A), будут переоткрыты лог-файлы каждой базы данных, для которой делается дамп.

Выполнять команду FLUSH PRIVILEGES после создания дампа базы данных.

Продолжать создание резервной копии даже в случае возникновения ошибки.

Указывает хост MySQL сервера. По-умолчанию резервная копия делается для хоста localhost

Представлять бинарные данные полей BINARY, VARBINARY, BLOB и BIT в шестнадцатиричном формате ( hex ).

Не скидывать в дамп таблицу «имя_таблицы» из базы «имя_базы«. Опцию нужно использовать повторно, для каждой игнорируемой таблицы.

Дописывать в оператор INSERT, опцию IGNORE.

Блокировка всех таблиц, во всех базах, на время создания резервной копии. Данная опция автоматически отключает —single-transaction и —lock-tables.

Блокировка таблиц базы данных, на время создания резервной копии. При дампе всех баз данных с этой опцией, таблицы каждой базы блокируются отдельно. Для транзакционных таблиц, типа InnoDB и BDB, предпочтительней использовать опцию —single-transaction.

Писать ошибки и предупреждения в файл «имя_файла«.

Включает операторы INSERT для каждой таблицы, в операторы SET AUTOCOMMIT и COMMIT, для увеличения скорости выполнения большого количества запросов INSERT

Данная опция подавляет вывод в дамп оператора CREATE DATABASE, при использовании опций —databases и —all-databases.

Не писать оператор CREATE TABLE, для пересоздания каждой таблицы из резервной копии.

Не скидывать в дамп содержимое таблиц. Оставляет только операторы CREATE TABLE для создания структуры.

Групповая опция. Синоним включения опций, —add-drop-table, —add-locks, —create-options, —disable-keys, —extended-insert, —lock-tables, —quick, —set-charset. Ускоряет общий процесс создания резервной копии, включена по-умолчанию. Отключается опцией —skip-opt.

Сортировать ряды таблиц по первичному ключу или по первому уникальному индексу, если индекс существует. Полезна в случае создания дампа таблиц MyISAM с последующей вставкой в таблицы типа InnoDB.

Пароль пользователя, для подключения к серверу. Не забывайте, что имя должно идти сразу за опцией, без разделяющего пробела. Если указаны только сама опция, без пароля, пароль будет запрошен из командной строки.

Номер порта, для подключения к серверу по протоколу TCP/IP.

Использовать для подключения к серверу MySQL, указанный протокол.

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

Обрамлять имена баз данных, таблиц и колонок, ковычками. Включена по-умолчанию.

Использовать оператор REPLACE вместо INSERT. Начиная с версии MySQL 5.1.3.

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

Записывать в дамп хранимые процедуры и функции. Для использования данной опции, необходимы права SELECT на таблицу proc, системной базы данных mysql. Дамп будет содержать операторы CREATE PROCEDURE и CREATE FUNCTION. При использовании этой опции, эти операторы не будут содержать атрибутов времени создания и модификации хранимых процедур и функций и после восстановления дампа они будут равны времени восстановления. Если вам необходимо сохранить исходные атрибуты времени, вместо использования данной опции, сделайте отдельный дамп таблицы mysql.proc, под именем пользователя, который имеет на это достаточные права. Опция появилась с версии MySQL 5.1.2.

Добавляет в дамп оператор SET NAMES со значением кодировки по-умолчанию. По-умолчанию, данная опция включена, что-бы подавить, используйте —skip-set-charset.

Выполняет оператор BEGIN SQL, перед началом создания резервной копии. Опция используется только для транзакционных таблиц, типа InnoDB. Только этот тип таблиц может быть сохранен в дамп в актуальном состоянии, после выполнения BEGIN SQL, и без блокирования приложения. Например таблицы типа MyISAM или MEMORY, могут измениться в процессе создания резервной копии с использованием данной опции, в итоге, информация в дампе будет противоречивой, неактуальной. Опции —single-transaction и —lock-tables, являются взаимоисключающими.

Использовать файл unix-сокета, для подключения к localhost.

Имена идущие за этой опцией, считаются именами таблиц.

Включать в резервную копию триггеры, для каждой таблицы. Отменить действие опции можно с помощью —skip-triggers.

Имя пользователя для подключения к MySQL серверу.

Вывод служебной информации о ходе выполнения программы.

Скидывать в дамп информацию, выбранную по условию WHERE.

Создать дамп в формате XML

 

Источник:

http://vds-admin.ru/backup/rezervnoe-kopirovanie-i-vosstanovlenie-baz-dannykh-s-pomoshchyu-programmy-mysqldump

http://petrenco.com/mysql.php?txt=46

http://www.nixp.ru/recipes/13.html

 

 

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика