Skip to main content

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

Как сделать дамп базы данных? (Июнь 2026)

Как сделать дамп базы данных? (Июнь 2026)
Anonim

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

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

туздЫшпр инструмент, который вы использовали для обеих этих ситуаций. Основная функция - взять базу данных MySQL и «выгрузить» ее в виде текстового файла. Но не только текстовый файл … файл является набор операторов SQL, Эти инструкции, когда они будут исполнены, будут переконструировать вашу базу данных в точное состояние, в котором оно было, когда вы выполнили дамп.

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

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

  • Hotcopying DB от MySQL Enterprise - отличный способ добиться этих резервных копий … если вы не против ценового тега Enterprise.
  • Копирование каталогов данных БД может быть сложным, если вы перемещаетесь по операционным системам, так как их назначения будут разными.
  • Экспорт в текстовый файл с разделителями даст вам контент, но вам придется воссоздать структуру самостоятельно. И вам лучше это сделать правильно …
  • Вы часто можете архивировать базы данных из графических программ, таких как MySQL Workbench. Но это ручной процесс, т. Е. Не то, что вы можете сценаризировать или включить в пакетное задание.

Установка средства mysqldump

Если вас интересует эта статья, скорее всего, вы уже установили MySQL. Если это так, хорошие новости - у вас уже есть туздЫшпр! Если нет, вы можете просто установить MySQL стандартным образом для своей операционной системы.

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

sudo apt install mysql-client

Извлечение дампа MySQL

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

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

Давайте немного сломаем эту команду:

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

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

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

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

Прежде чем вы сможете это сделать, вам понадобится база данных, которая уже создана, и имеет правильное имя пользователя и пароль. Вы также должны иметь все разрешения для базы данных. (Строго говоря, вам не нужно ГРАНТ разрешение, но проще всего предоставить их всем.) Вы можете найти подробную информацию о разрешениях базы данных в этой статье.

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

  1. Войдите в сервер MySQL с помощью MySQL команда.
  2. Тип использовать имя базы данных в ответ на приглашение, подставляя соответствующее имя БД.
  3. Войти source имя_файла, заменив имя файла дампа, который вы использовали ранее.

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

Как только процесс будет завершен, у вас будет дубликат исходной базы данных. Вы можете проверить это, выполнив другой дамп и сравнив два выхода. Достойный текстовый редактор сможет сделать это для вас или выделенный инструмент * diff *, как показано на следующем рисунке:

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