Утилита mysqldump
— инструмент командной строки Linux, который предназначен для создания резервных копий баз данных (БД) MySQL и MariaDB. Она позволяет экспортировать структуры и информацию в файлы, которые затем можно использовать для восстановления или переноса базы данных MySQL на другой сервер.
В этой статье мы расскажем, как использовать утилиту mysqldump
для создания резервных копий баз данных MySQL в Linux.
Содержание:
- Синтаксис mysqldump для сохранения баз данных в файл
- Создание резервных копий баз данных MySQL
- Создание копии только структуры базы данных MySQL
- Сохранение только данных из БД в файл
- Создание резервных копий таблиц из базы данных MySQL
- Восстановление базы данных MySQL из файла
- Выводы
Синтаксис mysqldump для сохранения баз данных в файл
Чтобы создать резервную копию с помощью mysqldump
, используйте команду со следующими опциями и аргументами:
Где:
-u <username>
— опция, которая позволяет указать имя пользователя для подключения к серверу MySQL;-p
— опция, которая запросит ввести пароль от учетной записи указанного пользователя;[options]
— дополнительные опции, которые расширяют функционал утилиты;<database_name>
— название БД, которую нужно экспортировать;<dump_file>.sql
— файл с расширением*.sql
, в который нужно сохранить копию базы данных.
Чтобы более детально ознакомиться с инструментом mysqldump
, выполните эту команду с опцией --help
:
Создание резервных копий баз данных MySQL
Чтобы сделать копию одной базы данных MySQL, выполните следующую команду:
Читайте также: Как выполнять запросы к базам данных MySQL из командной строки Linux.
Для сохранения в одном файле нескольких БД, добавьте в предыдущую команду опцию --databases
, и в качестве ее аргументов перечислите названия баз данных через пробелы:
Вы можете сразу сохранить все существующие базы данных на сервере MySQL в один файл. Для этого используйте опцию --all-databases
:
Создание копии только структуры базы данных MySQL
С помощью mysqldump
можно сохранить в файл только структуру базы данных. Структура БД описывает, как данные хранятся, организованы и управляются. Она включает в себя различные компоненты, такие как таблицы, поля (столбцы), индексы, ключи, связи между таблицами и так далее.
Чтобы создать копию только структуры определенной базы данных, примените опцию --no-data
с названием БД в качестве аргумента:
Сохранение только данных из БД в файл
Также у Вас есть возможность создать резервную копию только информации из базы данных без ее структуры. Для решения этой задачи следует воспользоваться опциями --no-create-db
и --no-create-info
:
Читайте также: Как узнать размер базы данных MySQL в Linux.
Создание резервных копий таблиц из базы данных MySQL
Утилита mysqldump
позволяет создавать копии таблиц из определенной БД MySQL. С решением этой задачи Вам поможет следующая команда:
Где <table_name>
— название таблицы из базы данных <database_name>
.
Соответственно, чтобы сохранить в одном файле копии нескольких таблиц, перечислите их названия через пробелы:
Восстановление базы данных MySQL из файла
Существует два способа восстановить базу данных из сохраненной резервной копии. Во-первых, Вы можете создать новую пустую базу данных на сервере MySQL с помощью следующей команды:
Читайте также: Как подключиться к MySQL без ввода пароля пользователя в Linux.
Где <new-db>
— название базы данных. А затем записать в нее информацию из файла, выполнив в терминале:
Во-вторых, Вы можете перезаписать содержимое существующей базы данных на сервере с помощью утилиты mysqlimport
. Для этого воспользуйтесь приведенной ниже командой:
Выводы
Теперь Вы знаете, как создавать резервные копии баз данных MySQL в Linux с помощью утилиты mysqldump
. Мы также показали Вам, как восстановить БД, используя команды mysql
и mysqlimport
. Надеемся, что эта статья была полезной для Вас!
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
1 комментарий. Оставить новый
хотелось бы добавить, что для MySQL существует еще несколько принципиально отличающихся друг от друга способов и утилит для создания и восстановления бекапа. Например xtrabackup, innobackapex или snapshot fs. У каждого способа есть свои плюсы и минусы. Рассматриваемое Вами решение принципиально надежное и простое в использовании, но в тот же момент, обладает существенным минусом а именно при создании бекапа включается так называемый LOCK, что в свою очередь влияет на запись в базу а в высоконагруженных проектах это существенный минус. Администратор должен учитывать этот важный аспект при создании бекапа утилитой mysqldump.