Как сделать

Что такое mysqldump и как его использовать?

Содержимое файла mysqldump

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

Для чего используется mysqldump?

Инструмент mysqldump поможет вам разобраться как в компрометации сервера, так и в ситуациях миграции. Его основная функция — взять базу данных MySQL и выгрузить ее в виде текстового файла. Но не любой текстовый файл; файл представляет собой набор операторов SQL. Эти операторы при выполнении восстанавливают базу данных в точное состояние, в котором она находилась при выполнении дампа.

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

  • Горячее копирование базы данных из MySQL Enterprise — отличный способ для создания таких резервных копий, если вы не против ценника Enterprise.
  • Копирование каталогов данных базы данных может быть сложным при перемещении между операционными системами, поскольку места назначения будут разными.
  • Экспорт в текстовый файл с разделителями даст вам содержимое, но вам придется воссоздать структуру.
  • Вы часто можете создавать резервные копии баз данных из программ с графическим интерфейсом, таких как MySQL Workbench Но это ручной процесс; не то, что вы можете написать или включить в пакетное задание.

Установите инструмент mysqldump

Для Windows ознакомьтесь с нашими инструкциями по установке MySQL в Windows 7 (процесс установки такой же, как и в Windows 10). На macOS смотрите наши инструкции по установке MySQL на macOS 10.7 (опять же, более старая, но все еще применима). Пользователи Linux-систем на основе Ubuntu могут использовать следующую команду для установки клиента и утилит MySQL:

sudo apt установить mysql-клиент

Извлечь дамп MySQL

После установки используйте mysqldump, чтобы получить полную резервную копию базы данных.

mysqldump -h [имя или IP-адрес вашего хоста БД] -u [имя пользователя БД] -p [имя базы данных]> db_backup.sql

Вот описание флагов, используемых в этой команде:

  • -h : Этот флаг является хостом базы данных. Это может быть полное имя хоста (например, myhost.domain.com) или IP-адрес. Оставьте это поле пустым, если вы запускаете команду на том же хосте, что и сервер MySQL.
  • -u : Ваше имя пользователя.
  • -p : Если вы правильно установили установку MySQL, вам потребуется пароль для подключения. Этот флаг без аргументов запрашивает пароль при выполнении команды. Иногда полезно указать пароль непосредственно в качестве аргумента этого флага, например, в сценарии резервного копирования. Но по подсказке вы не должны, потому что, если кто-то получит доступ к вашему компьютеру, он может получить этот пароль в истории команд.
  • > db_backup.sql : эта часть указывает mysqldump направлять вывод в файл. Обычно команда выводит все на консоль, что означает, что вы увидите несколько операторов SQL на экране. Символ> направляет вывод в именованный текстовый файл. Если этот файл не существует, он создается автоматически.

Когда он закончится, у вас будет файл .SQL. Это текстовый файл, содержащий операторы SQL . Вы можете открыть его в любом текстовом редакторе для проверки содержимого. Вот экспорт из базы данных WordPress, который показывает, как эти файлы объединяются.

Содержимое файла mysqldump

Файл разделен на разделы. Первый раздел настраивает таблицу для комментариев WordPress. Во втором разделе воссоздается содержимое этих таблиц (в данном примере записи комментариев). Когда вы повторно импортируете дамп MySQL, команда обрабатывает файл, выполняет операторы и перестраивает базу данных, как это было.

Импортируйте файл дампа MySQL

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

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

Чтобы повторно импортировать ваши данные, войдите на сервер MySQL с помощью команды mysql . Введите use [имя базы данных] в командной строке и подставьте имя базы данных. Введите источник [имя файла] и замените имя файла дампа, который вы взяли ранее.

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

Импорт файла mysqldump в новую базу данных

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

Сравнение файлов дампа двух баз данных

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

Похожие посты
Как сделать

Как получить возмещение за покупки в iTunes или App Store

Как сделать

Поверхностное перо не работает? Вот как это исправить

Как сделать

Как настроить и использовать Fire TV Recast

Как сделать

Как изменить рингтон по умолчанию на вашем iPhone