MySQLDUMP

Различные опции, команды, описания, примеры
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 804
Стаж: 5 лет 1 месяц
Откуда: Вологодская область
Поблагодарили: 33 раза
Контактная информация:

MySQLDUMP

Сообщение Артём Мамзиков »

mysqldump - Данная утилита позволяет получить дамп (``моментальный снимок'') содержимого базы данных или совокупности баз для создания резервной копии
или пересылки данных на другой SQL-сервер баз данных (не обязательно MySQL-сервер).
Дамп будет содержать набор команд SQL для создания и/или заполнения таблиц.


Чтобы создать дамп всей базы данных, не называйте никакие таблицы после db_nameили используйте параметр --databasesили --all-databases.
mysqldump [options] db_name [tbl_name ...] (база данных [таблицы])
mysqldump [options] --databases db_name ... (--базы данных [ПАРАМЕТРЫ] DB1 [DB2 DB3...])
mysqldump [options] --all-databases (--все базы данных [ПАРАМЕТРЫ])

mysqldump --help список параметров, поддерживаемых вашей версией

Делаем бэкап
mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql

Создаём структуру базы без данных
mysqldump --no-data - u USER -pPASSWORD DATABASE > /path/to/file/schema.sql

Если нужно сделать дамп только одной или нескольких таблиц
mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > /path/to/file/dump_table.sql

Создаём бекап и сразу его архивируем
mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz

Создание бекапа с указанием его даты
mysqldump -u USER -pPASSWORD DATABASE | gzip > `date +/path/to/outputfile.sql.%Y%m%d.%H%M%S.gz`

Заливаем бекап в базу данных
mysql -u USER -pPASSWORD DATABASE < /path/to/dump.sql

Заливаем архив бекапа в базу
gunzip < /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE
или так
zcat /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE

Создаём новую базу данных
mysqladmin -u USER -pPASSWORD create NEWDATABASE

Удобно использовать бекап с дополнительными опциями -Q -c -e, т.е.
mysqldump -Q -c -e -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql, где:

-Q оборачивает имена обратными кавычками
-c делает полную вставку, включая имена колонок
-e делает расширенную вставку. Итоговый файл получается меньше и делается он чуть быстрее

Выгрузка БД zabbixdb
mysqldump -u root -p zabbixdb > zabbixdb.sql
Выгрузка 1 таблицы history
mysqldump -u root -p zabbixdb history > history.sql

Без функции create чтоб в дальнейшем не пере затереть таблицы, а подлить данные (не содержит команды create создать)
В конце имени содержит букву h не перепутайте.
mysqldump -u root -p --no-create-info --lock-tables zabbixdb history > historyh.sql

mysqldump -uroot -p123456789 database --ignore-table database.table1 --ignore-table database.table2 > dump.sql

где
root - имя пользователя
123456789 - пароль
database - имя базы данных
database.table1 и database.table2 - исключаемые из дампа таблицы

Оф. mysqldump EN

Название опции Описание
--add-drop-database Добавьте оператор DROP DATABASE перед каждым оператором CREATE DATABASE.

--add-drop-table Добавьте оператор DROP TABLE перед каждым оператором CREATE TABLE.

--add-drop-trigger Добавьте оператор DROP TRIGGER перед каждым оператором CREATE TRIGGER.

--add-locks Окружите каждый дамп таблицы операторами LOCK TABLES и UNLOCK TABLES.

-A --all-databases Дамп всех таблиц во всех базах данных

-Y --all-tablespaces Сбросьте все табличные пространства.

--allow-keywords Разрешить создание имен столбцов, которые являются ключевыми словами

--apply-replica-statements Включите STOP REPLICA перед оператором CHANGE REPLICATION SOURCE TO и START REPLICA в конце вывода.

--apply-slave-statements Включите STOP SLAVE перед оператором CHANGE MASTER и START SLAVE в конце вывода.

--bind-address Использовать указанный сетевой интерфейс для подключения к серверу MySQL

--character-sets-dir=name Каталог, в котором установлены наборы символов

--column-statistics Напишите операторы ANALYZE TABLE для создания гистограмм статистики.

-i --comments Добавить комментарии к файлу дампа

--compact Производите более компактную продукцию

--compatible=name Производить выходные данные, более совместимые с другими системами баз данных или со старыми серверами MySQL.

-c --complete-insert Используйте полные операторы INSERT, которые включают имена столбцов.

-C --compress Сжатие всей информации, передаваемой между клиентом и сервером

--compression-algorithms Разрешенные алгоритмы сжатия для соединений с сервером

-a --create-options Включите все специфичные для MySQL параметры таблицы в операторы CREATE TABLE.

-B --databases Интерпретировать все аргументы имени как имена базы данных

-# --debug[=#] Написать журнал отладки

--debug-check Распечатывать отладочную информацию при выходе из программы

--debug-info Распечатывать отладочную информацию, память и статистику ЦП при выходе из программы

--default-auth=name Плагин аутентификации для использования

--default-character-set=name Укажите набор символов по умолчанию

--delayed-insert Вставка строк с ЗАДЕРЖКОЙ ВСТАВКИ.

--defaults-extra-file Чтение именованного файла опций в дополнение к обычным файлам опций

--defaults-file Только для чтения именованный файл опций

--defaults-group-suffix Значение суффикса группы параметров

--delete-master-logs На исходном сервере репликации удалите двоичные журналы после выполнения операции создания дампа.

--delete-source-logs На исходном сервере репликации удалите двоичные журналы после выполнения операции создания дампа.

-K --disable-keys Для каждой таблицы окружите операторы INSERT операторами для отключения и включения ключей.

--dump-date Включите дату дампа в качестве комментария «Дамп завершен», если задан параметр --comments

--dump-replica Включите оператор CHANGE REPLICATION SOURCE TO, в котором перечислены координаты двоичного журнала источника реплики.

--dump-slave[=#] Включите оператор CHANGE MASTER, в котором перечислены координаты двоичного журнала источника реплики.

--enable-cleartext-plugin Включить плагин аутентификации открытым текстом

-E --events Дамп событий из дампов баз данных

-e --extended-insert Использовать многострочный синтаксис INSERT

--fields-enclosed-by Эта опция используется с опцией --tab и имеет то же значение, что и соответствующее предложение для LOAD DATA.

--fields-escaped-by=name Эта опция используется с опцией --tab и имеет то же значение, что и соответствующее предложение для LOAD DATA.

--fields-optionally-enclosed-by=name Эта опция используется с опцией --tab и имеет то же значение, что и соответствующее предложение для LOAD DATA.

--fields-terminated-by=name Эта опция используется с опцией --tab и имеет то же значение, что и соответствующее предложение для LOAD DATA.

-F --flush-logs Сбросить файлы журнала сервера MySQL перед запуском дампа

--flush-privileges Выдать оператор FLUSH PRIVILEGES после дампа базы данных mysql

-f --force Продолжайте, даже если во время дампа таблицы возникает ошибка SQL.

--gtid Используется вместе с --master-data=1 или --dump-slave=1.При включении выходные данные этих параметров будут задавать сетку позиция вместо файла binlog и смещения; файл /смещение будут отображаться только в качестве комментария. При отключении позиция СЕТКИ по-прежнему будет отображаться в выходных данных, но только прокомментировал.

--get-server-public-key Запросить открытый ключ RSA с сервера

-? --help Показать справочное сообщение и выйти

--hex-blob Дамп двоичных столбцов с использованием шестнадцатеричной записи

-h --host=name Хост, на котором расположен сервер MySQL

--ignore-error Игнорировать указанные ошибки

--ignore-table=name Не сбрасывать данную таблицу

--include-master-host-port Включить параметры MASTER_HOST/MASTER_PORT в оператор CHANGE MASTER, созданный с --dump-slave

--include-source-host-port Включите параметры SOURCE_HOST и SOURCE_PORT в оператор CHANGE REPLICATION SOURCE TO, созданный с --dump-replica

--insert-ignore Пишите операторы INSERT IGNORE вместо INSERT.

--lines-terminated-by=name Эта опция используется с опцией --tab и имеет то же значение, что и соответствующее предложение для LOAD DATA.

-x --lock-all-tables Заблокировать все таблицы во всех базах данных

-l --lock-tables Блокировать все таблицы перед их сбросом

--log-error=name Добавить предупреждения и ошибки в именованный файл

--log-queries При восстановлении дампа сервер будет, если ведение журнала включен, регистрируйте запросы в общий и медленный запрос очереди

--login-path Прочитайте параметры пути входа в систему из .mylogin.cnf

--master-data[=#] Запишите имя файла двоичного журнала и позицию в вывод.

--max-allowed-packet=# Максимальная длина пакета для отправки или получения с сервера

--net-buffer-length=# Размер буфера для TCP/IP и связи через сокеты

--network-timeout Увеличьте время ожидания сети, чтобы разрешить большие дампы таблиц.

--no-autocommit Включите операторы INSERT для каждой выгруженной таблицы в операторы SET autocommit = 0 и COMMIT.

-n --no-create-db Не пишите операторы CREATE DATABASE.

-t --no-create-info Не пишите операторы CREATE TABLE, которые заново создают каждую выгруженную таблицу.

-d --no-data Не сбрасывать содержимое таблицы

--no-data-med Нет информации о строках для движков, которые управляют внешними данными ((MRG_MyISAM, MERGE_ISAM, CONNECT, OQGRAPH, SPIDER, VP, FEDERATED).

--no-defaults Не читать файлы опций

-N --no-set-names То же, что --skip-set-charset

-y --no-tablespaces Не записывайте в вывод никаких операторов CREATE LOGFILE GROUP или CREATE TABLESPACE.

--opt Сокращение для --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset

--order-by-primary Дамп строк каждой таблицы, отсортированных по первичному ключу или по первому уникальному индексу.

-p --password[=name] Пароль для использования при подключении к серверу

--password1 Первый пароль многофакторной аутентификации для использования при подключении к серверу

--password2 Второй пароль многофакторной аутентификации для использования при подключении к серверу

--password3 Третий пароль многофакторной аутентификации для использования при подключении к серверу

--pipe Подключиться к серверу с помощью именованного канала (только для Windows)

--plugin-dir=name Каталог, в котором установлены плагины

-P --port Номер порта TCP/IP для подключения

--print-defaults Параметры печати по умолчанию

--protocol=name Транспортный протокол для использования

-q --quick Извлекать строки для таблицы с сервера построчно за раз

-Q --quote-names Идентификаторы кавычек внутри символов обратной кавычки

--replace Пишите операторы REPLACE, а не операторы INSERT.

-r --result-file=name Прямой вывод в заданный файл

-R --routines Дамп хранимых подпрограмм (процедур и функций) из выгруженных баз данных

--server-public-key-path Путь к файлу, содержащему открытый ключ RSA

--set-charset Добавьте SET NAMES default_character_set для вывода

--set-gtid-purged Добавлять ли SET @@GLOBAL.GTID_PURGED в вывод

--shared-memory-base-name Имя общей памяти для соединений с общей памятью (только для Windows)

--show-create-skip-secondary-engine Исключить предложение SECONDARY ENGINE из инструкций CREATE TABLE.

--single-transaction Выполните оператор BEGIN SQL перед сбросом данных с сервера

--skip-add-drop-table Не добавляйте оператор DROP TABLE перед каждым оператором CREATE TABLE.

--skip-add-locks Не добавлять замки

--skip-comments Не добавлять комментарии в файл дампа

--skip-compact Не производить более компактный вывод

--skip-disable-keys Не отключайте ключи

--skip-extended-insert Отключить расширенную вставку

--skip-opt Отключить параметры, установленные --opt

--skip-quick Не извлекать строки для таблицы с сервера построчно за раз

--skip-quote-names Не указывать идентификаторы

--skip-set-charset Не пишите инструкцию SET NAMES

--skip-triggers Не сбрасывать триггеры

--skip-tz-utc Выключить tz-utc

-S --socket Файл сокета Unix или именованный канал Windows для использования

--source-data Запишите имя файла двоичного журнала и позицию в вывод.

--ssl Включить SSL для подключения (автоматически включается с помощью другие флаги).

--ssl-ca=name Файл, содержащий список доверенных центров сертификации SSL.

--ssl-capath=name Каталог, содержащий файлы сертификатов доверенного центра сертификации SSL.

--ssl-cert=name Файл, содержащий сертификат X.509

--ssl-cipher=name Допустимые шифры для шифрования соединения

--ssl-crl=name Файл, содержащий списки отзыва сертификатов

--ssl-crlpath=name Каталог, содержащий файлы списка отзыва сертификатов

--ssl-verify-server-cert Проверьте "Общее имя" сервера в его сертификате на соответствие имя хоста, используемое при подключении. По умолчанию эта опция отключена

--ssl-fips-mode Включить ли режим FIPS на стороне клиента

--ssl-key=name Файл, содержащий ключ X.509

--ssl-mode Желаемое состояние безопасности подключения к серверу

--ssl-session-data Файл, содержащий данные сеанса SSL

--ssl-session-data-continue-on-failed-reuse Устанавливать ли соединения, если повторное использование сеанса не удается

-T --tab=name Создание файлов данных, разделенных табуляцией

--tables Переопределить параметр --databases или -B

--tls-ciphersuites Допустимые наборы шифров TLSv1.3 для зашифрованных соединений

--tls-version Допустимые протоколы TLS для зашифрованных соединений

--triggers Триггеры дампа для каждой таблицы дампа

--tz-utc Добавьте SET TIME_ZONE='+00:00' в файл дампа

-u --user=name Имя пользователя MySQL для использования при подключении к серверу

-v --verbose Подробный режим

-V --version Показать информацию о версии и выйти

-w --where=name Дамп только строк, выбранных по заданному условию WHERE

-X --xml Создание XML-вывода

--zstd-compression-level Уровень сжатия для подключений к серверу, использующих сжатие zstd

Variables (--variable-name=value) имя переменной=значение
количество слов: 762

Вернуться в «MySql»