Spec-Zone .ru
спецификации, руководства, описания, API
|
mysqldump клиент является утилитой, которая выполняет логические резервные копии, производя ряд SQL-операторов, которые могут быть выполнены, чтобы воспроизвести исходные объекты схемы, табличные данные, или обоих. Это выводит одну или более баз данных MySQL для резервного копирования или передачи в другой SQL-сервер. mysqldump команда может также генерировать вывод в CSV, другом разграниченном тексте, или формате XML.
mysqldump требует, по крайней мере, SELECT
полномочие для выведенных таблиц, SHOW VIEW
для выведенных представлений, TRIGGER
для выведенных триггеров, и LOCK TABLES
если --single-transaction
опция не используется. Определенные опции могли бы
потребовать других полномочий как отмечено в описаниях опции.
Чтобы перезагрузить файл дампа, следует нуждаться в тех же самых полномочиях, чтобы создать каждый из выведенных
объектов, выходя CREATE
операторы вручную.
вывод mysqldump может включать ALTER DATABASE
операторы, которые изменяют сопоставление базы данных. Они могут
использоваться когда дамп сохраненные программы, чтобы сохранить их кодировки символов. Перезагружать файл
дампа, содержащий такие операторы, ALTER
полномочие для базы данных, на которую
влияют, требуется.
mysqldump
преимущества включают удобство и гибкость просмотра или даже
редактирования вывода перед восстановлением. Можно клонировать базы данных для разработки и работы DBA, или
произвести небольшие изменения существующей базы данных для того, чтобы протестировать. Это не предназначается
как быстрое или масштабируемое решение для того, чтобы поддержать значительное количество данных. С большими
размерами данных, даже если резервный шаг занимает соответствующее время, восстанавливая данные, может быть
очень медленным, потому что воспроизведение SQL-операторов включает дисковый ввод-вывод для вставки, создания
индекса, и так далее.
Для крупномасштабного резервного копирования и восстановления, физическое резервное копирование является более соответствующим, чтобы скопировать файлы данных в их исходном формате, который может быть восстановлен быстро:
Если Ваши таблицы прежде всего InnoDB
таблицы, или
если у Вас есть соединение InnoDB
и MyISAM
таблицы, рассмотрите использование mysqlbackup команды
Резервного продукта MySQL Enterprise. (Доступный как часть подписки Предприятия.) Это обеспечивает
лучшую производительность для InnoDB
резервные копии с минимальным
разрушением; это может также поддержать таблицы от MyISAM
и другие
механизмы хранения; и это предоставляет много удобных возможностей размещать различные резервные
сценарии.
Если Ваши таблицы прежде всего MyISAM
таблицы,
рассмотрите использование mysqlhotcopy вместо этого, для лучшей
производительности чем mysqldump резервного копирования и восстановите
операции. См. Раздел 4.6.10, "mysqlhotcopy — Программа Резервного копирования базы
данных".
mysqldump может получить и вывести табличную строку содержания
строкой, или это может получить весь контент от таблицы и буферизовать это в памяти прежде, чем вывести это.
Буферизация в памяти может быть проблемой, если Вы выводите большие таблицы. Чтобы вывести табличную строку
строкой, используйте --quick
опция (или --opt
, который включает --quick
). --opt
опция (и следовательно --quick
) включается по умолчанию, так включить буферизации памяти,
использовать --skip-quick
.
Если Вы используете недавнюю версию mysqldump, чтобы генерировать дамп, который будет перезагружен в
очень старый сервер MySQL, используйте --skip-opt
опция вместо --opt
или --extended-insert
опция.
Для дополнительной информации о mysqldump см. Раздел 7.4, "Используя mysqldump для Резервных копий".
Есть общими тремя способами использовать mysqldump — чтобы вывести ряд того или большего количества таблиц, ряд того или более полных баз данных, или всего сервера MySQL — как показано здесь:
shell>mysqldump [
shell>options
]db_name
[tbl_name
...]mysqldump [
shell>options
] --databasesdb_name
...mysqldump [
options
] --all-databases
Чтобы вывести все базы данных, не называйте таблицы после db_name
, или
используйте --databases
или --all-databases
опция.
Чтобы видеть список опций, Ваша версия mysqldump поддерживает, дайте команду mysqldump - справка.
mysqldump поддерживает следующие опции, которые могут быть
определены на командной строке или в [mysqldump]
и [client]
группы файла опции. mysqldump также поддерживает опции для того, чтобы
обработать файлы опции, описанные в Разделе
4.2.3.4, "Параметры командной строки, которые Влияют на Обработку Файла опции".
Таблица 4.7. mysqldump
Опции
Формат | Файл опции | Описание | Представленный |
---|---|---|---|
- "добавьте базу данных отбрасывания" | "добавьте базу данных отбрасывания" | Добавьте оператор DROP DATABASE перед каждым оператором CREATE DATABASE | |
- "добавьте таблицу отбрасывания" | "добавьте таблицу отбрасывания" | Добавьте оператор DROP TABLE перед каждым оператором CREATE TABLE | |
- "добавьте триггер отбрасывания" | "добавьте триггер отбрасывания" | Добавьте оператор DROP TRIGGER перед каждым оператором CREATE TRIGGER | |
- добавлять-блокировки | добавлять-блокировки | Окружите каждый табличный дамп операторами TABLES И UNLOCK TABLES БЛОКИРОВКИ | |
- все-базы данных | все-базы данных | Выведите все таблицы во всех базах данных | |
- позволять-ключевые-слова | позволять-ключевые-слова | Позвольте создание имен столбцов, которые являются ключевыми словами | |
- "примените ведомые операторы" | "примените ведомые операторы" | Включайте оператор SLAVE prior to CHANGE MASTER ОСТАНОВКИ и ЗАПУСТИТЕ ВЕДОМОЕ УСТРОЙСТВО в конце вывода | |
- bind-address=ip_address | свяжите адресный | Используйте указанный сетевой интерфейс, чтобы соединиться с MySQL Server | |
- комментарии | комментарии | Добавьте комментарии к файлу дампа | |
- компактный | компактный | Произведите более компактный вывод | |
- compatible=name [имя...] | совместимый | Произведите вывод, который является более совместимым с другими системами баз данных или с более старыми серверами MySQL | |
- полный - вставляют | полный - вставляют | Используйте полные операторы INSERT, которые включают имена столбцов | |
- создавать-опции | создавать-опции | Включайте все специфичные для MySQL табличные опции в операторы CREATE TABLE | |
- базы данных | базы данных | Выведите несколько баз данных | |
- отладка [=debug_options] | отладка | Запишите журнал отладки | |
- проверка отладки | проверка отладки | Напечатайте отладочную информацию, когда программа выходит | |
- информация отладки | информация отладки | Напечатайте отладочную информацию, память и статистику ЦП, когда программа выходит | |
- default-auth=plugin | default-auth=plugin | Плагин аутентификации, чтобы использовать | |
- default-character-set=charset_name | набор символов значения по умолчанию | Используйте charset_name в качестве набора символов значения по умолчанию | |
- "удалите основные журналы" | "удалите основные журналы" | На главном сервере репликации удалите двоичные журналы после выполнения работы дампа | |
- отключать-ключи | отключать-ключи | Для каждой таблицы окружите операторы INSERT операторами, чтобы отключить и включить ключам | |
- дата дампа | дата дампа | Включайте дату дампа как "Дамп, завершенный на" комментарии, если - комментарии даются | |
- ведомое устройство дампа [=value] | ведомое устройство дампа | Включайте оператор CHANGE MASTER, который перечисляет двоичные координаты журнала ведущего устройства ведомого устройства | |
- события | события | События дампа от выведенных баз данных | |
- расширенный - вставляют | расширенный - вставляют | Многократная строка использования ВСТАВЛЯЕТ синтаксис, которые включают несколько списков ЗНАЧЕНИЙ | |
- fields-enclosed-by=string | "поля, включенные" | Эта опция используется с - опция вкладки и имеет то же самое значение как соответствующий пункт для ДАННЫХ ЗАГРУЗКИ INFILE | |
- "поля, которых оставляют" | "поля, которых оставляют" | Эта опция используется с - опция вкладки и имеет то же самое значение как соответствующий пункт для ДАННЫХ ЗАГРУЗКИ INFILE | |
- fields-optionally-enclosed-by=string | "поля, дополнительно включенные" | Эта опция используется с - опция вкладки и имеет то же самое значение как соответствующий пункт для ДАННЫХ ЗАГРУЗКИ INFILE | |
- fields-terminated-by=string | "поля, завершенные" | Эта опция используется с - опция вкладки и имеет то же самое значение как соответствующий пункт для ДАННЫХ ЗАГРУЗКИ INFILE | |
- журналы сброса | журналы сброса | Сбросьте файлы журнала сервера MySQL прежде, чем запустить дамп | |
- полномочия сброса | полномочия сброса | Испустите оператор FLUSH PRIVILEGES после дампа mysql базы данных | |
- справка | Сообщение справки дисплея и выход | ||
- шестнадцатеричный блоб | шестнадцатеричный блоб | Выведите двоичные столбцы, используя шестнадцатеричную нотацию (например, 'abc' становится 0x616263), | |
- узел | узел | Узел, чтобы соединить с (IP-адрес или имя узла) | |
- ignore-error=error [ошибка]... | игнорировать-ошибка | Проигнорируйте указанные ошибки | 5.7.1 |
- ignore-table=db_name.tbl_name | игнорировать-таблица | Не выводите данную таблицу | |
- "включайте основной порт узла" | "включайте основной порт узла" | Включайте опции MASTER_HOST/MASTER_PORT в оператор CHANGE MASTER, произведенный с - ведомое устройство дампа | |
- вставьте - игнорируют | вставьте - игнорируют | Запишите операторы INSERT IGNORE, а не операторы INSERT | |
- lines-terminated-by=string | "строки, завершенные" | Эта опция используется с - опция вкладки и имеет то же самое значение как соответствующий пункт для ДАННЫХ ЗАГРУЗКИ INFILE | |
- "заблокируйте все таблицы" | "заблокируйте все таблицы" | Заблокируйте все таблицы через все базы данных | |
- таблицы блокировки | таблицы блокировки | Заблокируйте все таблицы прежде, чем вывести их | |
- log-error=file_name | ошибка журнала | Добавьте предупреждения и ошибки к именованному файлу | |
- login-path=name | Считайте опции пути входа в систему из.mylogin.cnf | ||
- основные данные [=value] | основные данные | Напишите двоичное имя файла журнала и позицию к выводу | |
- max_allowed_packet=value | max_allowed_packet | Максимальная пакетная длина, чтобы передаться к или получить от сервера | |
- net_buffer_length=value | net_buffer_length | Размер буфера для TCP/IP и передачи сокета | |
- без автоматических фиксаций | без автоматических фиксаций | Включите операторы INSERT для каждой выведенной таблицы в пределах автоматической фиксации НАБОРА = 0 и операторы COMMIT | |
- "нет не создайте дб" | "нет не создайте дб" | Эта опция подавляет операторы CREATE DATABASE | |
- "нет не создайте информацию" | "нет не создайте информацию" | Не пишите операторы CREATE TABLE, которые воссоздают каждую выведенную таблицу | |
- без данных | без данных | Не выводите табличное содержание | |
- "никакие определенные имена" | "никакие определенные имена" | То же самое как - набор символов набора пропуска | |
- без табличных областей | без табличных областей | Не пишите CREATE LOGFILE GROUP или операторы CREATE TABLESPACE в выводе | |
- выбрать | выбрать | Сокращение для - "добавляет таблица отбрасывания" - добавлять-блокировки - создавать-опции - отключать-ключи - расширенный - вставляют - таблицы блокировки - быстрый - набор символов набора. | |
- порядок-основным | порядок-основным | Выведите строки каждой таблицы, сортированные ее первичным ключом, или ее первым уникальным индексом | |
- пароль [=password] | пароль | Пароль, чтобы использовать, соединяясь с сервером | |
- канал | На Windows соединитесь с сервером, используя именованный канал | ||
- plugin-dir=path | plugin-dir=path | Каталог, где плагины располагаются | |
- port=port_num | порт | Номер порта TCP/IP, чтобы использовать для соединения | |
- быстрый | быстрый | Получите строки для таблицы от сервера строка за один раз | |
- имена кавычки | имена кавычки | Идентификаторы кавычки в пределах символов обратной галочки | |
- замена | замена | Запишите операторы REPLACE, а не операторы INSERT | |
- result-file=file | файл результата | Прямой вывод к данному файлу | |
- подпрограммы | подпрограммы | Выведите сохраненные подпрограммы (процедуры и функции) от выведенных баз данных | |
- набор символов набора | набор символов набора | Добавьте ОПРЕДЕЛЕННЫЕ ИМЕНА default_character_set, чтобы вывести | |
- set-gtid-purged=value | set-gtid-purged | Добавить ли НАБОР @@ ГЛОБАЛЬНАЯ ПЕРЕМЕННАЯ GTID_PURGED, чтобы вывести | |
- единственная транзакция | единственная транзакция | Эта опция проблемы a НАЧИНАЕТ SQL-оператор прежде, чем вывести данные от сервера | |
- "пропуск добавляет таблицу отбрасывания" | "пропуск добавляет таблицу отбрасывания" | Не добавляйте оператор DROP TABLE перед каждым оператором CREATE TABLE | |
- "пропуск добавляет блокировки" | "пропуск добавляет блокировки" | Не добавляйте блокировки | |
- комментарии пропуска | комментарии пропуска | Не добавляйте комментарии к файлу дампа | |
- компактный пропуском | компактный пропуском | Не производите более компактный вывод | |
- "пропуск отключает ключи" | "пропуск отключает ключи" | Не отключайте ключи | |
- "пропустите расширенный, вставляют" | "пропустите расширенный, вставляют" | Выключите расширенный - вставляют | |
- пропустите - выбирают | пропустите - выбирают | Выключите опции, установленные - выбирают | |
- быстрый пропуском | быстрый пропуском | Не получайте строки для таблицы от сервера строка за один раз | |
- имена кавычки пропуска | имена кавычки пропуска | Не заключайте идентификаторы в кавычки | |
- набор символов набора пропуска | набор символов набора пропуска | Подавите оператор SET NAMES | |
- триггеры пропуска | триггеры пропуска | Не выводите триггеры | |
- skip-tz-utc | skip-tz-utc | Выключите tz-utc | |
- ssl-ca=file_name | ssl-приблизительно | Путь к файлу, который содержит список доверяемой АВАРИИ SSL | |
- ssl-capath=dir_name | ssl-capath | Путь к каталогу, который содержит доверяемые сертификаты CA SSL в формате PEM | |
- ssl-cert=file_name | ssl-свидетельство | Имя файла сертификата SSL, чтобы использовать для того, чтобы установить безопасное соединение | |
- ssl-cipher=cipher_list | ssl-шифр | Список допустимых шифров, чтобы использовать для шифрования SSL | |
- ssl-crl=file_name | ssl-crl | Путь к файлу, который содержит списки аннулированных сертификатов | |
- ssl-crlpath=dir_name | ssl-crlpath | Путь к каталогу, который содержит файлы списка аннулированных сертификатов | |
- ssl-key=file_name | ssl-ключ | Имя файла ключей SSL, чтобы использовать для того, чтобы установить безопасное соединение | |
- ssl-verify-server-cert | ssl-verify-server-cert | Значение Общего названия сервера в его сертификате проверяется против имени хоста, используемого, соединяясь с сервером | |
- tab=path | вкладка | Произведите разделенные от вкладки файлы данных | |
- таблицы | таблицы | Переопределите - базы данных или-B опция | |
- триггеры | триггеры | Дамп инициировал для каждой выведенной таблицы | |
- tz-utc | tz-utc | Добавьте НАБОР TIME_ZONE = '+ 00:00' к файлу дампа | |
- user=user_name | пользователь | Имя пользователя MySQL, чтобы использовать, соединяясь с сервером | |
- многословный | Многословный режим | ||
- версия | Выведите на экран информацию о версии и выход | ||
- где ='where_condition' | где | Выведите только строки, выбранные данным ГДЕ условие | |
- xml | xml | Произведите вывод XML |
mysqldump команда регистрирует в сервер MySQL, чтобы извлечь информацию. Следующие опции определяют, как соединиться с сервером MySQL, или на той же самой машине или на удаленной системе.
На компьютере, имеющем многократные сетевые интерфейсы, эта опция может использоваться, чтобы выбрать, какой интерфейс используется, соединяясь с сервером MySQL.
Сожмите всю информацию, отправленную между клиентом и сервером если оба сжатия поддержки.
Клиентский плагин аутентификации, чтобы использовать. См. Раздел 6.3.7, "Сменная Аутентификация".
--host=
,
host_name
-h
host_name
Данные дампа от сервера MySQL на данном узле. Узел значения по умолчанию localhost
.
--password[=
, password
]-p[
password
]
Пароль, чтобы использовать, соединяясь с сервером. Если Вы используете короткую форму опции (-p
), у Вас не может быть
пространства между опцией и паролем. Если Вы опускаете password
значение после --password
или -p
опция на
командной строке, mysqldump запрашивает одного.
Определение пароля на командной строке нужно считать небезопасным. См. Раздел 6.1.2.1, "Направляющие линии Конечного пользователя для Безопасности Пароля". Можно использовать файл опции, чтобы избежать давать пароль на командной строке.
На Windows соединитесь с сервером, используя именованный канал. Эта опция применяется, только если сервер поддерживает соединения именованного канала.
Каталог, в котором можно искать плагины. Может быть необходимо определить эту опцию если --default-auth
опция используется, чтобы определить плагин аутентификации, но mysqldump не находит это. См. Раздел
6.3.7, "Сменная Аутентификация".
Номер порта TCP/IP, чтобы использовать для соединения.
--protocol={TCP|SOCKET|PIPE|MEMORY}
Протокол соединения, чтобы использовать для того, чтобы соединиться с сервером. Полезно, когда другие параметры соединения обычно заставляли бы протокол использоваться кроме того, Вы хотите. Для получения дополнительной информации на допустимых значениях, см. Раздел 4.2.2, "Соединяясь с MySQL Server".
Для соединений с localhost
, файл сокета Unix, чтобы использовать, или,
на Windows, имени именованного канала, чтобы использовать.
Опции, которые начинаются --ssl
определите, соединиться ли с сервером, используя SSL и указать,
где найти ключи SSL и сертификаты. См. Раздел 6.3.9.4,
"Опции Команды SSL".
--user=
,
user_name
-u
user_name
Имя пользователя MySQL, чтобы использовать, соединяясь с сервером.
Можно также установить следующие переменные при использовании --
синтаксис:var_name
=value
Максимальный размер буфера для клиент-серверной передачи. Максимум составляет 1 Гбайт.
Начальный размер буфера для клиент-серверной передачи. Создавая многократную строку INSERT
операторы (как с --extended-insert
или --opt
опция), mysqldump создает строки до net_buffer_length
длина. Если Вы увеличиваете эту переменную,
гарантируете что net_buffer_length
переменная в сервере MySQL - по крайней мере,
это большое.
Сценарии использования для mysqldump включают установку всего нового экземпляра MySQL (включая таблицы базы данных), и замена данных в существующем экземпляре с существующими базами данных и таблицами. Следующие опции, которым позволяют Вы определить, который вещи разъединить и установить, восстанавливая дамп, кодируя различные операторы DDL в пределах файла дампа.
Добавьте a DROP DATABASE
оператор перед каждым CREATE
DATABASE
оператор. Эта опция обычно используется в соединении с --all-databases
или --databases
опция, потому что нет CREATE DATABASE
операторы пишутся, если одна из тех опций не
определяется.
Добавьте a DROP TABLE
оператор перед каждым CREATE
TABLE
оператор.
Добавьте a DROP TRIGGER
оператор перед каждым CREATE TRIGGER
оператор.
Добавляет к табличному дампу, все SQL-операторы должны были создать любые табличные области,
используемые NDB
Эта опция подавляет CREATE
DATABASE
операторы, которые иначе включаются в вывод если --databases
или --all-databases
опция дается.
Не писать CREATE TABLE
операторы, которые воссоздают каждую выведенную таблицу.
Эта опция не не исключает операторы, создающие
группы файла журнала или табличные области от вывода mysqldump; однако, можно использовать --no-tablespaces
опция с этой целью.
Эта опция подавляет все CREATE LOGFILE GROUP
CREATE TABLESPACE
Следующие опции печатают отладочную информацию, кодируют отладочную информацию в файле дампа, или позволяют работе дампа продолжаться независимо от потенциальных проблем.
Создание разрешения имен столбцов, которые являются ключевыми словами. Это работает, снабжая префиксом каждое имя столбца имя таблицы.
Запишите дополнительную информацию в файле дампа, таком как версия программы, версия сервера, и
узел. Эта опция включается по умолчанию. Чтобы подавить эту дополнительную информацию, использовать
--skip-comments
.
--debug[=
, debug_options
]-# [
debug_options
]
Запишите журнал отладки. Типичное debug_options
строка
'd:t:o,
. Значение
по умолчанию file_name
''d:t:o,/tmp/mysqldump.trace'
.
Напечатайте некоторую отладочную информацию, когда программа выходит.
Напечатайте отладочную информацию и память и статистику использования ЦП, когда программа выходит.
Если --comments
опция дается, mysqldump производит комментарий в конце дампа
следующей формы:
-- Dump completed on DATE
Однако, дата заставляет файлы дампа, взятые в разное время, казаться, отличаться, даже если данные
иначе идентичны. --dump-date
и --skip-dump-date
управляйте, добавляется ли дата к комментарию.
Значение по умолчанию --dump-date
(включайте дату в комментарий). --skip-dump-date
подавляет печать даты.
Проигнорируйте все ошибки; продолжайте, даже если ошибка SQL происходит во время табличного дампа.
Одно использование для этой опции должно заставить mysqldump продолжать выполняться, даже когда это
встречается с представлением, которое стало недопустимым, потому что определение относится к
таблице, которая была отброшена. Без --force
, mysqldump выходит с сообщением об ошибке. С
--force
, mysqldump печатает сообщение об ошибке, но это
также пишет комментарий SQL, содержащий определение представления к выводу дампа, и продолжает
выполняться.
Если --ignore-error
опция также дается, чтобы проигнорировать определенные ошибки, --force
имеет приоритет.
Предупреждения журнала и ошибки, добавляя их к именованному файлу. Значение по умолчанию не должно сделать никакого журналирования.
См. описание для --comments
опция.
Многословный режим. Напечатайте больше информации о том, что делает программа.
Следующие опции выводят на экран информацию о mysqldump команде непосредственно.
Следующие опции изменяются, как mysqldump команда представляет символьные данные с национальными настройками языка.
Каталог, где наборы символов устанавливаются. См. Раздел 10.5, "Конфигурация Набора символов".
--default-character-set=
charset_name
Использовать charset_name
как набор символов значения по
умолчанию. См. Раздел 10.5, "Конфигурация Набора
символов". Если никакой набор символов не определяется, mysqldump использование utf8
,
и более раннее использование версий latin1
.
Выключает --set-charset
установка, то же самое как определение --skip-set-charset
.
Добавить SET NAMES
к выводу. Эта опция включается по умолчанию. Подавить default_character_set
SET NAMES
оператор, использовать --skip-set-charset
.
mysqldump команда часто используется, чтобы создать пустой экземпляр, или экземпляр включая данные, на ведомом сервере в конфигурации репликации. Следующие опции применяются к дампу и восстановлению данных на ведущем устройстве репликации и ведомых серверах.
Для ведомого дампа, произведенного с --dump-slave
опция, добавляют a STOP SLAVE
оператор перед CHANGE MASTER TO
оператор и a START SLAVE
оператор в конце вывода.
На главном сервере репликации удалите двоичные журналы, передаваясь a PURGE BINARY LOGS
оператор к серверу после выполнения работы дампа.
Эта опция автоматически включает --master-data
.
Эта опция подобна --master-data
за исключением того, что это используется, чтобы вывести
ведомый сервер репликации, чтобы произвести файл дампа, который может использоваться, чтобы
установить другой сервер как ведомое устройство, у которого есть то же самое ведущее устройство как
выведенный сервер. Это заставляет вывод дампа включать a CHANGE MASTER TO
оператор, который указывает на двоичные
координаты журнала (имя файла и позиция) ведущего устройства выведенного ведомого устройства (а не
координаты выведенного сервера, как делается --master-data
опция). Они - координаты главного сервера, от
которых ведомое устройство должно начать тиражироваться.
Значение опции обрабатывается тот же самый путь что касается --master-data
и имеет тот же самый эффект как --master-data
с точки зрения включения или отключения других опций и в том, как блокировка обрабатывается.
Эта опция заставляет mysqldump останавливать ведомый поток SQL перед дампом и перезапускать это снова после.
В соединении с --dump-slave
, --apply-slave-statements
и --include-master-host-port
опции могут также использоваться.
Для CHANGE MASTER TO
оператор в ведомом дампе, произведенном с --dump-slave
опция, добавляют MASTER_PORT
и MASTER_PORT
опции для
имени хоста и номера порта TCP/IP ведущего устройства ведомого устройства.
Используйте эту опцию, чтобы вывести главный сервер репликации, чтобы произвести файл дампа, который
может использоваться, чтобы установить другой сервер как ведомое устройство ведущего устройства. Это
заставляет вывод дампа включать a CHANGE MASTER TO
оператор, который указывает на двоичные
координаты журнала (имя файла и позиция) выведенного сервера. Они - координаты главного сервера, от
которых ведомое устройство должно начать тиражироваться после того, как Вы загружаете файл дампа в
ведомое устройство.
Если значение опции 2, CHANGE
MASTER TO
оператор пишется как комментарий SQL, и таким образом информативен только; это
не имеет никакого эффекта, когда файл дампа перезагружается. Если значение опции 1, оператор не
пишется как комментарий и вступает в силу, когда файл дампа перезагружается. Если никакое значение
опции не определяется, значение по умолчанию 1.
Эта опция требует RELOAD
полномочие и двоичный журнал должны быть включены.
--master-data
опция автоматически выключает --lock-tables
. Это также включает --lock-all-tables
, если --single-transaction
также определяется, когда, глобальная считанная
блокировка получается только в течение короткого времени в начале дампа (см. описание для --single-transaction
).
Во всех случаях любое действие на журналах происходит в точный момент дампа.
Также возможно установить ведомое устройство, выводя существующее ведомое устройство ведущего
устройства, используя --dump-slave
опция.
Эта опция включает управлению глобальным ID транзакции (GTID) информация, записанная файлу дампа,
указывая, добавить ли a SET
@@global.gtid_purged
оператор к выводу.
Следующая таблица показывает разрешенные значения опции. Значение по умолчанию AUTO
.
Значение | Значение |
---|---|
OFF |
Добавьте нет SET оператор к выводу. |
ON |
Добавьте a SET оператор к выводу. Ошибка происходит, если
GTIDs не включаются на сервере.
|
AUTO |
Добавьте a SET оператор к выводу, если GTIDs areenabled на
сервере.
|
Следующие опции определяют, как представить весь файл дампа или определенные виды данных в файле дампа. Они также управляют, пишется ли определенная дополнительная информация файлу дампа.
Произведите более компактный вывод. Эта опция включает --skip-add-drop-table
, --skip-add-locks
, --skip-comments
, --skip-disable-keys
, и --skip-set-charset
опции.
Произведите вывод, который является более совместимым с другими системами баз данных или с более
старыми серверами MySQL. Значение name
может быть ansi
, mysql323
, mysql40
,
postgresql
, oracle
, mssql
,
db2
, maxdb
, no_key_options
,
no_table_options
, или no_field_options
.
Чтобы использовать несколько значений, разделите их запятыми. У этих значений есть то же самое
значение как соответствующие опции для того, чтобы установить режим SQL сервера. См. Раздел
5.1.7, "Режимы SQL Сервера".
Эта опция не гарантирует совместимости с другими серверами. Это только включает тем значениям режима
SQL, которые в настоящий момент доступны для создания вывода дампа более совместимым. Например,
--compatible=oracle
не отображает типы данных на типы Oracle или
использует синтаксис комментария Oracle.
Эта опция требует версии сервера 4.1.0 или выше. С более старыми серверами это ничего не делает.
Используйте полный INSERT
операторы, которые включают имена столбцов.
Включайте все специфичные для MySQL табличные опции в CREATE TABLE
операторы.
--fields-terminated-by=...
, --fields-enclosed-by=...
, --fields-optionally-enclosed-by=...
,
--fields-escaped-by=...
Эти опции используются с --tab
у опции и есть то же самое значение как соответствие FIELDS
пункты для LOAD DATA INFILE
. См. Раздел
13.2.6,"LOAD DATA INFILE
Синтаксис".
Выведите двоичные столбцы, используя шестнадцатеричную нотацию (например, 'abc'
становится 0x616263
). Типы данных, на которые влияют, BINARY
, VARBINARY
, BLOB
типы, и BIT
.
Эта опция используется с --tab
у опции и есть то же самое значение как соответствие LINES
пункт для LOAD DATA INFILE
. См. Раздел
13.2.6,"LOAD DATA INFILE
Синтаксис".
Идентификаторы кавычки (такие как база данных, таблица, и имена столбцов) в пределах"`
"символы.
Если ANSI_QUOTES
Режим SQL включается, идентификаторы заключаются в кавычки в пределах""
"символы. Эта опция
включается по умолчанию. Это может быть отключено с --skip-quote-names
,
но эта опция должна быть дана после любой опции такой как --compatible
это может включить --quote-names
.
--result-file=
, file_name
-r
file_name
Прямой вывод к данному файлу. Эта опция должна использоваться на Windows, чтобы предотвратить новую
строку"\n
"символы от того, чтобы быть преобразованным
до"\r\n
"возврат каретки / последовательности новой
строки. Файл результата создается и его предыдущее перезаписанное содержание, даже если ошибка
происходит, генерируя дамп.
Произведите разделенные от вкладки файлы данных текстового формата. Для каждой выведенной таблицы mysqldump создает a
файл, который содержит tbl_name
.sqlCREATE TABLE
оператор, который составляет таблицу, и сервер, пишет a
файл, который
содержит его данные. Значение опции является каталогом, в котором можно записать файлы.tbl_name
.txt
Эта опция должна использоваться только, когда mysqldump выполняется на той же самой машине как
mysqld сервер. Вы должны иметь FILE
у
полномочия, и сервера должно быть разрешение, чтобы записать файлы в каталоге, который Вы
определяете.
По умолчанию, .txt
файлы данных форматируются, используя символы
вкладки между значениями столбцов и новой строкой в конце каждой строки. Формат может быть
определен, явно используя --fields-
и xxx
--lines-terminated-by
опции.
Значения столбцов преобразовываются в набор символов, определенный --default-character-set
опция.
Эта опция включает TIMESTAMP
столбцы, которые будут выведены и перезагружены между серверами в различных часовых поясах. mysqldump устанавливает свою зону времени
соединения в UTC и добавляет SET TIME_ZONE='+00:00'
к файлу дампа. Без
этой опции, TIMESTAMP
столбцы выводятся и перезагружаются в часовых поясах, локальных для источника и целевых серверов,
которые могут заставить значения изменяться, если серверы находятся в различных часовых поясах.
--tz-utc
также защищает от изменений из-за летнего времени. --tz-utc
включается по умолчанию. Чтобы отключить это, использовать
--skip-tz-utc
.
Запишите вывод дампа как правильно построенный XML.
NULL
, 'NULL'
, и
Пустые Значения: Для названного столбца column_name
, NULL
значение,
пустая строка, и строковое значение 'NULL'
отличаются от друг друга в
выводе, сгенерированном этой опцией следующим образом.
Значение: | XML Представление: |
---|---|
NULL (неизвестное
значение)
|
|
'' (пустая
строка)
|
|
'NULL' (представьте
значение в виде строки),
|
|
Вывод от mysql клиента, когда выполнено используя --xml
опция
также следует за предыдущими правилами. (См. Раздел 4.5.1.1,
"mysql Опции".)
Вывод XML от mysqldump включает пространство имен XML, как показано здесь:
shell>mysqldump --xml -u root world City
<?xml version="1.0"?><mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><database name="world"><table_structure name="City"><field Field="ID" Type="int(11)" Null="NO" Key="PRI" Extra="auto_increment" /><field Field="Name" Type="char(35)" Null="NO" Key="" Default="" Extra="" /><field Field="CountryCode" Type="char(3)" Null="NO" Key="" Default="" Extra="" /><field Field="District" Type="char(20)" Null="NO" Key="" Default="" Extra="" /><field Field="Population" Type="int(11)" Null="NO" Key="" Default="0" Extra="" /><key Table="City" Non_unique="0" Key_name="PRIMARY" Seq_in_index="1" Column_name="ID"Collation="A" Cardinality="4079" Null="" Index_type="BTREE" Comment="" /><options Name="City" Engine="MyISAM" Version="10" Row_format="Fixed" Rows="4079"Avg_row_length="67" Data_length="273293" Max_data_length="18858823439613951"Index_length="43008" Data_free="0" Auto_increment="4080"Create_time="2007-03-31 01:47:01" Update_time="2007-03-31 01:47:02"Collation="latin1_swedish_ci" Create_options="" Comment="" /></table_structure><table_data name="City"><row><field name="ID">1</field><field name="Name">Kabul</field><field name="CountryCode">AFG</field><field name="District">Kabol</field><field name="Population">1780000</field></row>...
<row><field name="ID">4079</field><field name="Name">Rafah</field><field name="CountryCode">PSE</field><field name="District">Rafah</field><field name="Population">92020</field></row></table_data></database></mysqldump>
Следующее управление опциями, которое виды объектов схемы пишутся файлу дампа: по категориям, такие как триггеры
или события; по имени, например, выбирая, который базы данных и таблицы, чтобы вывести; или даже фильтруя строки
от табличных данных, используя a WHERE
пункт.
Выведите все таблицы во всех базах данных. Это - то же самое как использование --databases
опция и называющий все базы данных на командной строке.
Выведите несколько баз данных. Обычно, mysqldump обрабатывает параметр имени на командной
строке как имя базы данных и после имен как имена таблиц. С этой опцией это обрабатывает все
параметры имени как имена базы данных. CREATE DATABASE
и USE
операторы включаются в вывод перед каждой новой базой данных.
Включайте события Event Scheduler для выведенных баз данных в выводе.
--ignore-error=
error[,error]...
Проигнорируйте указанные ошибки. Значение опции является списком разделенных запятой значений кодов
ошибки, определяющих ошибки проигнорировать во время mysqldump выполнения. Если --force
опция также дается, чтобы проигнорировать все ошибки, --force
имеет приоритет.
Эта опция была добавлена в MySQL 5.7.1.
--ignore-table=
db_name.tbl_name
Не выводите данную таблицу, которая должна быть определена, используя и имена базы данных и имена таблиц. Чтобы проигнорировать многократные таблицы, используйте эту опцию многократно. Эта опция также может использоваться, чтобы проигнорировать представления.
Не пишите информацию о строке таблицы (то есть, не выводите табличное содержание). Это полезно, если
Вы хотите вывести только CREATE
TABLE
оператор для таблицы (например, чтобы создать пустую копию таблицы, загружая
файл дампа).
Включайте сохраненные подпрограммы (процедуры и функции) для выведенных баз данных в выводе.
Использование этой опции требует SELECT
полномочие для mysql.proc
таблица. Вывод, сгенерированный при использовании --routines
содержит CREATE
PROCEDURE
и CREATE
FUNCTION
операторы, чтобы воссоздать подпрограммы. Однако, эти операторы не включают
атрибуты, такие как стандартные метки времени создания и модификации. Это означает, что, когда
подпрограммы перезагружаются, они будут создаваться с метками времени, равными времени перезагрузки.
Если Вы требуете, чтобы подпрограммы были воссозданы с их исходными атрибутами метки времени, не
использовать --routines
. Вместо этого дамп и перезагрузка содержание
mysql.proc
представьте в виде таблицы непосредственно, используя
учетную запись MySQL, у которой есть соответствующие полномочия для mysql
база данных.
Переопределите --databases
или -B
опция. mysqldump расценивает все параметры имени после
опции как имена таблиц.
Включайте триггеры для каждой выведенной таблицы в выводе. Эта опция включается по умолчанию;
отключите это с --skip-triggers
.
--where='
, where_condition
'-w '
where_condition
'
Выведите только строки, выбранные данным WHERE
условие. Кавычки вокруг
условия обязательны, если оно содержит пробелы или другие символы, которые являются особенными для
Вашего интерпретатора команд.
Примеры:
--where="user='jimf'"-w"userid>1"-w"userid<1"
Следующие опции являются самыми важными для производительности особенно операций восстановления. Для больших
наборов данных восстановите работу (обрабатывающий INSERT
операторы в файле дампа),
самая отнимающая много времени часть. Когда срочно восстановить данные быстро, запланировать и протестировать
производительность этого этапа заранее. В течение времен восстановления, измеренных в часах, Вы могли бы
предпочесть альтернативное резервное копирование и восстановить решение, такое как InnoDB
- только и базы данных смешанного
использования, или mysqlhotcopy
для MyISAM
- только базы данных.
На производительность также влияют транзакционные опции, прежде всего для работы дампа.
Для каждой таблицы окружите INSERT
операторы с /*!40000 ALTER TABLE
и tbl_name
DISABLE KEYS */;/*!40000 ALTER TABLE
операторы. Это делает
загрузку файла дампа быстрее, потому что индексирование создается после того, как все строки
вставляются. Эта опция эффективна только для группового, индексирует tbl_name
ENABLE KEYS */;MyISAM
таблицы.
Используйте многократную строку INSERT
синтаксис, которые включают несколько VALUES
списки. Это приводит к
меньшему файлу дампа и убыстряется, вставляет, когда файл перезагружается.
Записать INSERT IGNORE
операторы, а не INSERT
операторы.
Эта опция, включенная по умолчанию, является сокращением для комбинации --add-drop-table
--add-locks
--create-options
--disable-keys
--extended-insert
--lock-tables
--quick
--set-charset
. Это дает быструю работу дампа и производит файл дампа,
который может быть перезагружен в сервер MySQL быстро.
Поскольку --opt
опция включается по умолчанию, Вы только определяете его
обратное, --skip-opt
выключить несколько настроек по умолчанию. См. обсуждение mysqldump
группы опции для информации об отборном включении или
отключении подмножества опций, на которые влияют --opt
.
Эта опция полезна для дампа больших таблиц. Это вынуждает mysqldump получить строки для таблицы от сервера строка за один раз вместо того, чтобы получить весь набор строк и буферизовать это в памяти перед выписыванием этого.
См. описание для --opt
опция.
Следующие опции балансируют между производительностью работы дампа против надежности и непротиворечивости экспортируемых данных.
Окружите каждый табличный дамп LOCK TABLES
и UNLOCK TABLES
операторы. Это приводит к, быстрее вставляет, когда
файл дампа перезагружается. См. Раздел 8.2.2.1,
"Скорость INSERT
Операторы".
Сбросьте файлы журнала сервера MySQL прежде, чем запустить дамп. Эта опция требует RELOAD
полномочие. Если Вы используете эту опцию в комбинации с --all-databases
опция, журналы сбрасываются для каждой выведенной базы данных.
Исключение при использовании --lock-all-tables
, --master-data
, или --single-transaction
: В этом случае журналы сбрасываются только
однажды, соответствуя моменту, что все таблицы блокируются. Если Вы хотите, чтобы Ваш дамп и сброс
данных журнала на диск произошли в точно тот же самый момент, следует использовать --flush-logs
вместе с --lock-all-tables
, --master-data
, или --single-transaction
.
Отправьте a FLUSH PRIVILEGES
оператор к серверу после дампа mysql
база данных. Эта опция должна использоваться любое время, которое
дамп содержит mysql
база данных и любая другая база данных, которая
зависит от данных в mysql
база данных для надлежащего восстановления.
Заблокируйте все таблицы через все базы данных. Это достигается, получая глобальную блокировку
чтения для продолжительности целого дампа. Эта опция автоматически выключает --single-transaction
и --lock-tables
.
Для каждой выведенной базы данных заблокируйте все таблицы, которые будут выведены прежде, чем
вывести их. Таблицы блокируются с READ LOCAL
разрешать параллельные
вставки в случае MyISAM
таблицы. Для транзакционных таблиц такой как
InnoDB
, --single-transaction
намного лучшая опция чем --lock-tables
потому что это не должно заблокировать таблицы вообще.
Поскольку --lock-tables
таблицы блокировок для каждой базы данных
отдельно, эта опция не гарантирует, что таблицы в файле дампа являются логически непротиворечивыми
между базами данных. Таблицы в различных базах данных могут быть выведены в абсолютно различных
состояниях.
Некоторые опции, такой как --opt
, автоматически включите --lock-tables
. Если Вы хотите переопределить это, использовать --skip-lock-tables
в конце списка опций.
Включите INSERT
операторы для каждой выведенной таблицы в пределах SET autocommit = 0
и COMMIT
операторы.
Выведите строки каждой таблицы, сортированные ее первичным ключом, или ее первым уникальным
индексом, если такой индексировать существует. Это полезно, выводя a MyISAM
таблица, которая будет загружена в InnoDB
таблица, но заставляет работу дампа взять значительно дольше.
Эта опция устанавливает режим изоляции транзакции в REPEATABLE READ
и
отправляет a START TRANSACTION
SQL-оператор к серверу прежде, чем вывести
данные. Это полезно только с транзакционными таблицами такой как InnoDB
,
потому что тогда это выводит непротиворечивое состояние базы данных в то время, когда START
TRANSACTION
был выпущен, не блокируя приложений.
При использовании этой опции следует иметь в виду это только InnoDB
таблицы выводятся в непротиворечивом состоянии. Например, любой MyISAM
или MEMORY
таблицы, выведенные, используя эту опцию, могут все еще
изменить состояние.
--single-transaction
опция и --lock-tables
опция является взаимоисключающей потому что LOCK
TABLES
причины любые транзакции на ожидании, которые будут фиксироваться неявно.
Чтобы вывести большие таблицы, объединитесь --single-transaction
опция с
--quick
.
--opt
опция включает несколько настроек, которые сотрудничают, чтобы
выполнить быструю работу дампа. Все эти настройки идут по умолчанию, потому что --opt
идет по умолчанию. Таким образом Вы редко, если когда-либо определяют --opt
.
Вместо этого можно выключить эти настройки как группа, определяя --skip-opt
,
дополнительно повторно включают определенным настройкам, определяя связанные опции позже командная
строка.
--compact
опция выключает несколько настроек, которые управляют, появляются ли дополнительные операторы и
комментарии в выводе. Снова, можно следовать за этой опцией с другими опциями, которые повторно включают
определенным настройкам, или включают все настройки при использовании --skip-compact
форма.
Когда Вы выборочно включаете или отключаете эффект групповой опции, порядок важен, потому что опции
обрабатываются сначала, чтобы продлиться. Например, --disable-keys
--lock-tables
--skip-opt
не имел бы намеченного эффекта; это - то же самое как --skip-opt
отдельно.
Сделать резервное копирование всей базы данных:
shell> mysqldump db_name
> backup-file.sql
Загрузить файл дампа назад в сервер:
shell> mysql db_name
< backup-file.sql
Другой способ перезагрузить файл дампа:
shell> mysql -e "source /path-to-backup/backup-file.sql
"
db_name
mysqldump также очень полезен для заполнения баз данных, копируя данные от одного сервера MySQL до другого:
shell> mysqldump --opt db_name
| mysql --host=remote_host
-C db_name
Можно вывести несколько баз данных с одной командой:
shell> mysqldump --databases db_name1
[db_name2
...] > my_databases.sql
Чтобы вывести все базы данных, используйте --all-databases
опция:
shell> mysqldump --all-databases >
all_databases.sql
Для InnoDB
таблицы, mysqldump обеспечивает способ сделать онлайновое резервное
копирование:
shell> mysqldump --all-databases --single-transaction
> all_databases.sql
Это резервное копирование получает глобальное чтение, соединяют все таблицы (использование FLUSH TABLES WITH READ LOCK
) в начале дампа. Как только эта блокировка была
получена, двоичные координаты журнала читаются, и блокировка выпускается. Если долго обновляющие операторы
работают когда FLUSH
заявление делается, сервер MySQL может быть остановлен, пока те
операторы не заканчиваются. После этого дамп становится свободной блокировкой и не нарушает чтения и записи на
таблицах. Если операторы обновления, которые получает сервер MySQL, коротки (с точки зрения времени выполнения),
начальный период блокировки не должен быть примечательным, даже со многими обновлениями.
Для восстановления момента времени (также известный как "откат вперёд," когда Вы должны восстановить старое резервное копирование и воспроизвести изменения, которые произошли начиная с того резервного копирования), часто полезно повернуть двоичный журнал (см. Раздел 5.2.4, "Двоичный Журнал"), или, по крайней мере, знайте двоичные координаты журнала, которым соответствует дамп:
shell> mysqldump --all-databases --master-data=2 >
all_databases.sql
Или:
shell>mysqldump --all-databases --flush-logs --master-data=2
> all_databases.sql
--master-data
и
--single-transaction
опции могут использоваться одновременно, который обеспечивает удобный способ сделать онлайновое резервное
копирование подходящим для использования до восстановления момента времени, если таблицы сохранены, используя
InnoDB
механизм хранения.
Для получения дополнительной информации по созданию резервных копий см. Раздел 7.2, "Методы Резервного копирования базы данных", и Раздел 7.3, "Стратегия резервного копирования и восстановления в качестве примера".
Выбрать эффект --opt
за исключением некоторых функций, используйте --skip
опция для каждой функции. Отключить расширенный вставляет и буферизация памяти, используйте --opt
--skip-extended-insert
--skip-quick
.
(Фактически, --skip-extended-insert
--skip-quick
достаточен потому что --opt
идет по умолчанию.)
Инвертировать --opt
для всех функций кроме индексируют отключение и табличную
блокировку, используют --skip-opt
--disable-keys
--lock-tables
.
mysqldump не выводит INFORMATION_SCHEMA
база данных по умолчанию. Вывести INFORMATION_SCHEMA
,
назовите это явно на командной строке и также используйте --skip-lock-tables
опция.
Не рекомендуется восстановить от дампа, сделанного, используя mysqldump к MySQL 5.6.9 или более раннему серверу, у которого есть включенный GTIDs. См. Раздел 16.1.3.4, "Ограничения на Репликацию с GTIDs".
mysqldump никогда не выводит performance_schema
база данных.
mysqldump включает операторы, чтобы воссоздать general_log
и slow_query_log
таблицы для дампов mysql
база данных. Табличное содержание журнала не выводится.
Если Вы встречаетесь с проблемами, поддерживая представления из-за недостаточных полномочий, см. Раздел D.5, "Ограничения на Представления" для обходного решения.