Mysqldump, где находится файл

Обновлено: 21.11.2024

Чтобы экспортировать или импортировать с помощью MySQL, начните с входа на сервер, желательно с доступом sudo (root).

Экспорт из MySQL

Лучший инструмент для экспорта базы данных MySQL в текстовый файл — mysqldump .

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

Имея эту информацию, введите команду mysqldump с соответствующими флагами и параметрами:

  • Флаг -u указывает, что за ним следует имя пользователя MySQL.
  • Флаг -p указывает, что у нас должен быть запрошен пароль, связанный с указанным выше именем пользователя.
  • database_name — это, конечно, точное имя экспортируемой базы данных.
  • Символ > — это директива Unix для STDOUT , которая позволяет командам Unix выводить текстовые результаты выполненной команды в другое место. В данном случае выходным местоположением является путь к файлу, заданный параметром output_file_path .

Примечание. Обычно рекомендуется вводить полный путь и имя файла для output_file_path , чтобы результирующий файл создавался именно там, где вы хотите.

Например, чтобы экспортировать базу данных books от имени пользователя book_admin в каталог ~/backup/database, можно использовать следующую команду:

После ввода нашего пароля по запросу выше эта команда создает наш резервный файл с суффиксом .sql (что совершенно необязательно, но желательно) в соответствующем каталоге.

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

Импорт в MySQL

Теперь, когда вы узнали, как экспортировать резервную копию базы данных MySQL, мы рассмотрим, как выполнить обратный процесс и импортировать резервную копию в существующую базу данных.

Как вы можете себе представить, в дополнение к команде mysqldump, используемой для экспорта, есть аналогичная команда mysqlimport для импорта.

В большинстве случаев импорт заключается в передаче практически идентичных параметров команде mysqlimport. Чтобы импортировать созданный ранее сохраненный файл books.sql, мы использовали многие из тех же флагов и почти такой же синтаксис.

Как и прежде, для аутентификации требуются флаги -u и -p, за которыми следует имя базы данных для импорта (в данном случае мы используем другую производственную базу данных), а затем, наконец, указывается полный путь к файлу дампа SQL, содержащему наши данные импорта, ~/backup/database/books.sql . Также стоит отметить, что mysqlimport не требует символов или > (STDIN/STDOUT), которые использовались с mysqldump .

Благодаря этому вы узнали, как экспортировать/резервировать существующую базу данных, а также как затем импортировать/восстанавливать эти данные в ту же или даже в другую базу данных.

Вывод: в этом руководстве вы узнаете, как использовать инструмент mysqldump для создания резервной копии одной или нескольких баз данных на сервере MySQL.

Введение в инструмент mysqldump

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

Инструмент mysqldump находится в каталоге root/bin каталога установки MySQL.

Чтобы получить доступ к инструменту mysqldump, перейдите в папку root/bin и используйте команду mysqldump со следующими параметрами.

Вот общие параметры mysqldump:

добавить-удалить-таблицу

Включает оператор DROP TABLE для каждой таблицы в базе данных.

добавить замки

Включает операторы LOCK TABLES и UNLOCK TABLES до и после каждого оператора INSERT. Это повышает скорость восстановления данных из файла дампа.

все базы данных

Создает дамп всех баз данных на сервере MySQL.

варианты создания

Включает параметры ENGINE и CHARSET в инструкцию CREATE TABLE для каждой таблицы.

базы данных

Создает дамп одной или нескольких баз данных.

отключить-клавиши

Указывает MySQL отключить обновления индекса во время загрузки данных для таблиц MyISAM. MySQL создаст индексы после того, как mysqldump завершит загрузку данных. Этот параметр повышает скорость восстановления.

расширенная вставка

Объединяет однострочные операторы INSERT в один оператор, который вставляет несколько строк таблицы; Этот параметр также помогает ускорить восстановление данных.

сбросить журналы

Очищает журналы сервера перед сбросом данных. Это полезно в сочетании с добавочными резервными копиями.

таблицы блокировки

Гарантирует, что дамп является согласованным моментальным снимком, блокируя все таблицы в базе данных во время создания дампа.

нет данных

создать файл дампа, содержащий операторы, необходимые для воссоздания только структуры базы данных (только CREATE DATABASE , CREATE TABLE...), а не данных (без операторов INSERT).

Инструмент mysqldump использует opt по умолчанию.

Параметр opt включает следующие параметры: add-drop-table , add-locks , create-options , disable-keys , extended-insert , lock-tables , quick и set-charset .

Чтобы отключить эту опцию, используйте skip-opt . Если вы хотите пропустить каждую отдельную опцию, вы используете skip- . Например, чтобы пропустить опцию отключения клавиш, используйте опцию skip-disable-keys.

быстро

Указывает mysqldump не буферизовать таблицы в памяти перед записью в файл. Эта опция ускоряет создание дампов из больших таблиц.

результирующий файл

Указывает путь к выходному файлу дампа.

набор-кодировки

Указывает набор символов, например latin1 или utf8 базы данных.

таблицы

Создает дамп одной или нескольких таблиц.

где

Выводит только те строки, которые удовлетворяют условию в предложении WHERE.

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

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

1) Использование инструмента mysqldump для создания резервной копии одной базы данных

Следующая команда выполняет резервное копирование одной базы данных с сервера MySQL:

  • Это учетная запись пользователя, которая будет входить на сервер MySQL.

Например, следующая команда создает резервную копию базы данных classicmodels в файле c:\backup\classicmodels.sql :

2) Использование инструмента mysqldump для резервного копирования нескольких баз данных

Чтобы сделать резервную копию нескольких баз данных, укажите список имен баз данных после параметра --database:

Например, следующая команда создает резервную копию баз данных classicmodels и world:

3) Использование инструмента mysqldump для создания резервной копии всех баз данных

Чтобы сделать резервную копию всех баз данных на сервере MySQL, используйте параметр –all-database:

Следующий оператор делает резервную копию всех баз данных на текущем сервере MySQL:

4) Использование инструмента mysqldump для создания резервной копии определенных таблиц из базы данных

Чтобы сделать резервную копию определенных таблиц из базы данных, используйте следующую команду:

Вы также можете указать несколько таблиц после имени базы данных, одну за другой:

Например, чтобы сделать резервную копию таблицы сотрудников из базы данных classicmodels, используйте следующую команду:

5) Использование инструмента mysqldump для создания резервной копии только структуры базы данных

Чтобы сделать резервную копию только структуры базы данных, используйте параметр --no-data:

Эта инструкция создаст файл дампа, содержащий инструкцию SQL, необходимую для воссоздания структуры базы данных. И файл дампа не содержит инструкций INSERT.

Например, следующий оператор делает резервную копию структуры базы данных classicmodels :

6) Использование инструмента mysqldump только для резервного копирования данных

Чтобы сделать резервную копию только данных базы данных, используйте параметр --no-create-info:

Эта инструкция создаст файл дампа, содержащий операторы SQL, необходимые для блокировки таблиц и вставки данных в таблицы. В нем нет операторов CREATE TABLE.

Следующая команда создает резервную копию данных базы данных classicmodels:

В этом руководстве вы узнали, как использовать инструмент mysqldump для создания резервной копии баз данных на сервере MySQL.

Базы данных – это незаменимые инструменты для сбора и хранения огромного количества данных. Все сложные приложения используют их для хранения информации.
Существует множество решений для баз данных, но MySQL является одним из самых популярных. Использование MySQL жизненно важно для обеспечения безопасности и бесперебойной работы этих баз данных.

Управление серверами и базами данных и их резервное копирование можно выполнять в MySQL.
Чтобы обеспечить бесперебойную работу этих сложных процессов, были разработаны утилиты. Mysqldump — один из тех инструментов, призванных облегчить жизнь разработчикам.

В этом руководстве мы познакомим вас с тем, что такое mysqldump, как его использовать, выявим некоторые распространенные ошибки и приведем несколько наглядных примеров, чтобы вы могли эффективно использовать mysqldump.

Ищете простой сервис для управления резервными копиями MySQL?
→ Попробуйте SimpleBackups бесплатно

Оглавление

Что такое mysqldump?

MySQL – это система баз данных, которая существует уже много лет и продолжает оставаться одним из самых популярных вариантов для веб-сайтов. Это программное обеспечение с открытым исходным кодом и гибкое. Разработчики могут использовать эти базы данных для хранения всего, что может понадобиться веб-сайту. Информация, хранящаяся в онлайн-базах данных, может варьироваться от информации о потребителе и простого текста до картинных галерей и сетевой информации.

Mysqldump является частью пакета реляционной базы данных для MySQL. Он используется для резервного копирования всех данных в базе данных в один текстовый файл. Эти файлы или «дампы» могут быть созданы для отдельных баз данных или их набора. Текст в файле отображается как набор операторов SQL, которые впоследствии можно восстановить до исходного состояния.

Целью этого инструмента является экспорт базы данных в файл резервной копии или перемещение базы данных на другой веб-хост. Другие текстовые форматы с разделителями, такие как XML и CSV, также могут быть сгенерированы с помощью mysqldump. Эти простые запросы упрощают процесс резервного копирования.

Важность резервного копирования данных

Компаниям, которые надеются на бесперебойную работу, нужны первоначальные копии своих данных в разные моменты времени. Без стратегии резервного копирования их нечем защитить в случае аварии. Легкость, с которой данные могут быть потеряны навсегда, слишком велика, чтобы с ней справиться, поскольку данные могут легко быть повреждены или потеряны с течением времени. Злонамеренные намерения и стихийные бедствия не являются обязательным условием для реализации наихудшего сценария.

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

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

Не хотите поддерживать сценарии резервного копирования?

Попробовать SimpleBackups сейчас →

Как использовать mysqldump

С помощью mysqldump разработчик может получить файл .sql, который служит резервной копией всей базы данных. Чтобы использовать этот инструмент, разработчику необходим доступ к серверу, на котором запущен экземпляр MySQL. Необходимые привилегии должны быть предоставлены для экспорта чего-либо. Также потребуются учетные данные пользователя для базы данных, включая имя пользователя и пароль.

Три способа использования mysqldump для экспорта данных включают:

  1. Экспорт определенных таблиц в базе данных MySQL
  2. Экспорт отдельных баз данных
  3. Экспорт всего сервера MySQL

Экспорт таблиц MySQL через mysqldump

Убедитесь, что вы находитесь на машине, на которой установлена ​​MySQL. Вам также потребуется действующий пользователь базы данных с правами как минимум на полное чтение. Этого достаточно для основных параметров, но для более сложных команд могут потребоваться дополнительные привилегии. После этого запустите терминал, куда вы отправите команду для резервного копирования таблиц.

Затем вы предоставите пароль для пользователя базы данных, так как он не передается вместе с флагом -p. Символ > указывает перенаправление вывода, которое создаст файл дампа. Здесь имя_файла — это то, как будет называться окончательный файл.

Экспорт базы данных MySQL

Этапы экспорта базы данных очень похожи на шаги экспорта таблицы. Есть лишь небольшое изменение в формате команды. Вам потребуется тот же доступ к серверу и учетные данные.

База данных, которую вы будете экспортировать, указывается после параметра --databases. Пробел разделяет несколько баз данных.

Экспорт сервера MySQL

Эта команда очень похожа и для целых серверов.

Сама команда довольно проста: --all-databases указывает, что все данные на сервере должны быть выгружены. Если есть особые требования, именно здесь появляются параметры для команды. Добавление параметра -compatible сделает экспортируемый файл совместимым со старыми серверами MySQL или системами баз данных.

Разработчикам, использующим PowerShell в Windows, необходимо включить -result-file в качестве опции. Это позволит указать имя файла и убедиться, что вывод находится в формате ASCII, чтобы он правильно загружался позже.

Другие распространенные варианты включают добавление --no-data для резервного копирования только структуры базы данных, использование --no-create-info для резервного копирования базы данных без какой-либо структуры.

Импорт mysqldump

Импортировать файл .sql очень просто.Единственная хитрость заключается в том, чтобы убедиться, что на целевом сервере есть пустая база данных, прежде чем что-либо импортировать (ознакомьтесь с нашим мини-руководством по импорту файлов SQL).

Команда mysqlimport также будет работать с базами данных, которые вы хотите восстановить и которые уже существуют на целевой машине:

У вас также есть возможность импортировать все базы данных, выполнив команду, которая выглядит следующим образом:

Что делает флаг --quick?

Mysqldump может работать одним из двух способов.

  1. Инструмент может сразу получить все данные, буферизовать их в памяти, а затем выгрузить.
  2. Создает дамп таблиц построчно.

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

Дамп без блокировки таблиц и флага --skip-lock-tables

Использование --skip-lock-tables предотвращает блокировку таблицы во время процесса создания дампа. Это важно при резервном копировании рабочей базы данных, поскольку вы не можете заблокировать ее во время создания дампа.

Как правило, рекомендуется использовать --skip-lock-tables всякий раз, когда вы создаете дамп таблиц InnoDB. Однако для таблиц MyISAM может потребоваться блокировка таблиц для обеспечения согласованности данных.

Должен ли я использовать --skip-lock-tables ?

  • Если вы выполняете резервное копирование таблиц InnoDB, да. Объедините его с --single-transaction для достижения наилучших результатов.
  • Если вы выполняете резервное копирование таблиц MyISAM на рабочем сервере, не используйте --skip-lock-tables, если вы не можете заблокировать таблицы базы данных во время процесса резервного копирования.

Что делает флаг --single-transaction?

Короче говоря, --single-transaction позволяет дампам MySQL InnoDB иметь согласованное состояние базы данных. Он сообщает MySQL, что мы собираемся сбросить базу данных, поэтому критические изменения, такие как запросы к структуре таблицы, будут заблокированы для сохранения согласованности данных. Обратите внимание, что это относится только к таблицам InnoDB.

Примечание. Таблицы MyISAM не получат преимущества от этого флага и должны быть заблокированы, если вы хотите сохранить целостность их дампа.

Как сделать дамп больших таблиц?

Для создания дампа больших таблиц можно использовать следующие два флага --single-transaction и --quick .

Примечание. Это идеально подходит для таблиц InnoDB. Так как он будет использовать меньше оперативной памяти, а также создавать согласованные дампы без блокировки таблиц.

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

Попробовать SimpleBackups сейчас →

Как игнорировать таблицы с помощью mysqldump?

Используя параметр --ignore-table, вы можете игнорировать таблицу при использовании mysqldump.

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

Как вы видели, формат следующий: --ignore-table=DATABASE_NAME.TABLE_TO_IGNORE .

Чтобы игнорировать все таблицы в базе данных (или всю базу данных при создании дампа всех ваших баз данных), вы должны повторить аргумент, чтобы включить все таблицы, которые вы хотите игнорировать.

Как сбросить двоичные данные BLOB?

Иногда вы можете столкнуться с проблемами при получении дампа, если он содержит двоичные данные. По этой причине вы можете использовать следующий флаг mysqldump --hex-blob при создании дампа базы данных MySQL, содержащей двоичные данные.

Под капотом он выводит найденные двоичные строки (BINARY, VARBINARY, BLOB) в шестнадцатеричном формате, который надежно представляет эту структуру данных.

Вот пример mysqldump для правильного вывода двоичных данных:

Работает ли предложение "where" с mysqldump?

Да, этот пункт работает с командной строкой. Это упрощает установку условий для данных, которые необходимо извлечь из базы данных. Если есть крупное предприятие, работающее в течение десятилетий, которое хочет получить информацию после 27 апреля 2017 года, то этот пункт позволяет это сделать. Предложение where передает строку для условия и получает определенные запрошенные записи.

Устранение распространенных ошибок

По пути вы можете столкнуться с некоторыми распространенными ошибками MySQL, которые в некоторой степени легко устранить. Ниже мы расскажем о некоторых из этих ошибок и о том, как их решить.

Ошибка 2013: потеряно соединение с сервером mysql во время запроса при дампе таблицы

Чтобы решить эту проблему, вам нужно зайти в файл конфигурации MySQL и увеличить некоторые значения. Когда они будут добавлены, сохраните и закройте файл, а затем перезапустите MySQL, чтобы изменения вступили в силу.

  • макс. _ разрешенный _ пакет
  • net _ write _ timeout
  • net _ read _ timeout
  • innodb _ буфер _ размер пула _

Корректировки файла будут в разделах [mysqld] и [mysqldump] и будут выглядеть следующим образом:

Ошибка 2020: при дампе таблицы получен пакет больше, чем ' max _ Allowed _ Package ' байтов

Если база данных, которую нужно создать резервную копию, велика, а размер файла превышает максимально допустимый размер пакета, появляется эта ошибка.

Эту ошибку можно исправить, зайдя в файл конфигурации MySQL и увеличив максимальное значение _ разрешенного _ пакета в разделах [mysqld] и [mysqldump]. Сохраните и закройте файл, когда закончите, затем перезапустите MySQL, чтобы изменения вступили в силу.

Изменения будут выглядеть следующим образом:

Таблица не существует (1146), не удалось выполнить 'показать создать таблицу x'

Возможны случаи, когда вы удаляете таблицу во время резервного копирования. В этом случае вы можете ограничить доступ к определенным таблицам с помощью команды mysqldump с параметром --ignore-table. Чтобы идентифицировать таблицу, вам нужно указать имена базы данных и таблицы.

Указывая параметр несколько раз, вы можете игнорировать несколько таблиц:

При выборе базы данных возвращается "неизвестная база данных"

Эта ошибка чаще всего возникает, когда вы используете флаг -p в командной строке с паролем и между -p и mypassword есть пробел. Если это произойдет при использовании «root» в качестве пользователя с паролем «base-face», появится сообщение об ошибке «Неизвестная база данных base-face».

Правильный ввод будет выглядеть следующим образом:

Ошибка 1044 при выборе базы данных

Если пользователь, пытающийся создать дамп, не имеет привилегий, необходимых для доступа к базе данных, возникает эта ошибка. Вход в MySQL и назначение этих привилегий пользователю решит проблему. Введите команду:

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

После этого сбросьте привилегии и выйдите из MySQL, введя команду:

Пользователю отказано в доступе при попытке подключения к mysqldump

У этой ошибки может быть несколько возможных причин. Вот три наиболее распространенные причины проблемы.

Если вы используете неправильную команду, появится эта ошибка. Команда может быть в основном правильной, но в формате mysqldump отсутствует важный компонент. Основная команда будет выглядеть так:

Если вы не укажете имя пользователя или пароль, появится следующее сообщение:

Удаленный хост не может подключиться к базе данных

Эта ошибка возникает, если резервное копирование выполняется на удаленном сервере. Конфигурации для MySQL настроены на запрет внешних подключений. Здесь только локальному хосту разрешено делать резервную копию. Это мера безопасности, так что это хорошая мера, но если вам нужно изменить это, перейдите к конфигурациям и измените MySQL, чтобы разрешить подключения с удаленного хоста.

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

Mysqldump – это полезный инструмент для резервного копирования баз данных с минимальным количеством команд. Одна команда позволяет выплеснуть всю базу данных в один текстовый файл. Этот инструмент достаточно универсален, чтобы создавать резервные копии нужных частей базы данных, и имеет множество опций для изменения данных, которые необходимо сохранить.

Автоматизированное резервное копирование MySQL как услуга

SimpleBackups – это инструмент автоматизации резервного копирования баз данных и веб-сайтов, который разгружает все задачи резервного копирования.
Он автоматизирует резервное копирование MySQL и отправляет их в выбранное вами облачное хранилище.
SimpleBackups поможет вам убедиться, что ваши резервные копии работают правильно, вовремя, безопасно и со всеми прибамбасами.

В этой статье я объясню различные способы создания резервной копии на сервере базы данных MySQL. Как известно, данные являются ценным активом для организации. Как администраторы баз данных, наша основная и важная задача — обеспечить доступность и безопасность данных. В случае сбоя системы или центра обработки данных, повреждения базы данных или потери данных мы должны иметь возможность восстановить их в рамках определенного соглашения об уровне обслуживания.

Разные платформы баз данных предоставляют различные методы для создания резервной копии и восстановления базы данных. Многие поставщики предоставляют самые современные программные и аппаратные решения, которые могут помочь в резервном копировании базы данных и восстановлении базы данных в пределах заданных RTO и RPO.

Здесь мы не собираемся обсуждать решения для резервного копирования сторонних поставщиков. Я собираюсь объяснить нативные методы, которые используются для создания резервной копии базы данных. Мы можем создать резервную копию базы данных MySQL, используя любой из следующих методов:

  1. Создайте резервную копию с помощью утилиты mysqldump
  2. .
  3. Создание добавочных резервных копий с помощью двоичного журнала
  4. Создание резервных копий с помощью репликации ведомых устройств

В этой статье я собираюсь объяснить, как мы можем использовать mysqldump для создания резервной копии базы данных MySQL.

Создать резервную копию с помощью утилиты mysqldump

Mysqldump – это утилита командной строки, которая используется для создания логической резервной копии базы данных MySQL. Он создает операторы SQL, которые можно использовать для воссоздания объектов и данных базы данных. Команду также можно использовать для создания выходных данных в формате XML, текста с разделителями или CSV.

Эта команда проста в использовании, но единственная проблема возникает при восстановлении базы данных. Как я уже упоминал, когда мы создаем резервную копию базы данных MySQL, создается файл резервной копии, содержащий команды SQL, необходимые для перестроения или восстановления базы данных. Теперь, когда мы восстанавливаем базу данных, команда выполняет все операторы SQL для создания таблиц и вставки данных. Если у вас большая база данных, то процесс восстановления займет много времени.

Примечание. По умолчанию команда mysqldump не создает дамп базы данных information_schema, performance_schema и базы данных MySQL Cluster ndbinfo.

Если вы хотите включить таблицы information_schema, вы должны явно указать имя базы данных в команде mysqldump, а также включить параметр —skip-lock-tables .

Существует множество параметров и функций, которые можно использовать с mysqldump. Вы можете просмотреть полный список опций здесь. Я перейду к некоторым основным функциям. Ниже приведен синтаксис утилиты mysqldump.

mysqldump -u [имя пользователя] – p [пароль] [параметры] [имя_базы_данных] [имя таблицы] > [имя_дампа_файла. SQL]

Параметры следующие:

  1. -u [имя_пользователя]: это имя пользователя для подключения к серверу MySQL. Чтобы создать резервную копию с помощью mysqldump, выберите «Выбрать» для создания дампа таблиц, «Показать представление» для представлений, «Триггер» для триггеров. Если вы не используете параметр —одна транзакция, пользователю должны быть предоставлены привилегии «Блокировать таблицы»
  2. -p [пароль]: действительный пароль пользователя MySQL
  3. [option]: параметр конфигурации для настройки резервного копирования.
  4. [имя базы данных]: имя базы данных, для которой вы хотите создать резервную копию.
  5. [имя таблицы]: необязательный параметр. Если вы хотите взять в резерв определенные таблицы, то вы можете указать имена в команде
  6. “ ”: этот символ указывает, создаем ли мы резервную копию базы данных или восстанавливаем базу данных. Вы можете использовать «>» для создания резервной копии и «mysqldump -u root-p sakila > C:\MySQLBackup\sakila_20200424. SQL

Когда вы запускаете эту команду, она запрашивает пароль. Укажите соответствующий пароль. См. следующее изображение:

После успешного создания резервной копии давайте откроем файл резервной копии, чтобы просмотреть содержимое файла резервной копии. Откройте папку с резервной копией и дважды щелкните файл «sakila_20200424.sql».

Как видно на изображении выше, файл резервной копии содержит различные операторы T-SQL, которые можно использовать для повторного создания объектов.

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

Например, вы хотите создать резервную копию нескольких баз данных. Вы должны добавить параметр —базы данных в команду mysqldump. Следующая команда создаст резервную копию базы данных «sakila» и «employees» со структурой и данными.

mysqldump -u root -p -- базы данных сотрудников sakila > C : \ MySQLBackup \ sakila_employees_20200424 . SQL

См. следующее изображение:

Аналогичным образом, если вы хотите создать резервную копию всех баз данных, вы должны использовать параметр –all-databases в команде mysqldump. Следующая команда создаст резервную копию всех баз данных на сервере MySQL.

См. следующее изображение:

Создать резервную копию структуры базы данных

Если вы хотите создать резервную копию структуры базы данных, вы должны использовать параметр –no-data в команде mysqldump. Следующая команда создает резервную копию структуры базы данных sakila.

mysqldump - u root - p -- no - data sakila > C : \ MySQLBackup \ sakila_objects_definition_20200424 . SQL

См. следующее изображение:

Создать резервную копию определенной таблицы

Если вы хотите создать резервную копию определенной таблицы, то вы должны указать имя таблиц после имени базы данных. Следующая команда создает резервную копию таблицы актеров базы данных sakila.

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

Создать резервную копию данных базы данных

Если вы хотите создать резервную копию данных без структуры базы данных, вы должны использовать параметр –no-create-info в команде mysqldump. Следующая команда создает резервную копию данных базы данных sakila.

mysqldump -u root -p sakila --no-create-info > C:\MySQLBackup\sakila_data_only_20200424 . SQL

См. следующее изображение:

Давайте посмотрим содержимое файла резервной копии.

Как видно на снимке экрана выше, файл резервной копии содержит различные операторы T-SQL, которые можно использовать для вставки данных в таблицы.

Восстановить базу данных MySQL

Восстановить базу данных MySQL с помощью mysqldump очень просто. Для восстановления базы данных необходимо создать пустую базу данных. Во-первых, давайте удалим и заново создадим базу данных sakila, выполнив следующую команду.

При восстановлении базы данных вместо mysqldump необходимо использовать mysql, иначе mysqldump не сгенерирует схему и данные. Выполните следующую команду, чтобы восстановить базу данных sakila:

После успешного выполнения команды выполните следующую команду, чтобы убедиться, что все объекты созданы в базе данных sakila.

mysql> использовать sakila;
Базы изменены
mysql> показать таблицы;

См. следующее изображение:

Восстановить определенную таблицу в базе данных

Например, кто-то удалил таблицу из базы данных. Вместо того, чтобы восстанавливать всю базу данных, мы можем восстановить удаленную таблицу из доступной резервной копии. Чтобы продемонстрировать, удалите таблицу актеров из базы данных sakila, выполнив следующую команду в инструменте командной строки MySQL.

Читайте также: