Progress-servis55.ru

Новости из мира ПК
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Восстановить базу данных mysql из консоли dump

ИТ База знаний

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Популярное и похожее

Установка VirtualBox 6.0 на Linux

Как восстановить пароль от root в CentOS 7

Использование timeout в Linux с примерами

Текстовый редактор Nano — как установить и использовать

Как сделать резервную копию и восстановить базу данных MySQL с помощью Mysqldump

Делай бекапы — не будет факапов

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

Файлы резервных копий, созданные утилитой mysqldump, представляют собой набор операторов SQL, которые можно использовать для воссоздания исходной базы данных. Команда mysqldump также может генерировать файлы в формате CSV и XML. Вы также можете использовать утилиту mysqldump для переноса вашей базы данных MySQL на другой сервер MySQL.

Синтаксис команды Mysqldump

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

Выражения утилиты mysqldump имеют следующую форму:

  • options — параметры mysqldump
  • file.sql — дамп (резервная копия) файла

Для использования команды mysqldump сервер MySQL должен быть доступен и запущен.

Резервное копирование одной базы данных MySQL

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

Например, чтобы создать резервную копию базы данных с именем database_name , используя пользователя root , и сохранить ее в файл с именем database_name.sql , вы должны выполнить следующую команду:

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

Если вы вошли в систему как тот же пользователь, которого вы используете для выполнения экспорта, и этот пользователь не требует пароля, вы можете пропустить опции -u и -p :

Резервное копирование нескольких баз данных MySQL

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

Команда выше создаст файл дампа, содержащий обе базы данных.

Резервное копирование всех баз данных MySQL

Используйте опцию —all-database для резервного копирования всех баз данных MySQL:

Как и в предыдущем примере, команда выше создаст один файл дампа, содержащий все базы данных.

Резервное копирование всех баз данных MySQL в отдельные файлы

Утилита mysqldump не предоставляет возможность резервного копирования всех баз данных в отдельные файлы, но мы легко достигаем этого с помощью простого цикла bash FOR:

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

Создание сжатой резервной копии базы данных MySQL

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

Создать резервную копию с отметкой времени

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

Команда выше создаст файл в следующем формате database_name-20200223.sql

Восстановление дампа MySQL

Вы можете восстановить дамп MySQL с помощью инструмента mysql. Общий синтаксис команды выглядит следующим образом:

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

В следующем примере первая команда создаст базу данных с именем database_name , а затем импортирует в нее дамп database_name.sql :

Восстановление одной базы данных MySQL из полного дампа MySQL

Если вы создали резервную копию всех своих баз данных с помощью параметра -all-database и хотите восстановить одну базу данных из файла резервной копии, который содержит несколько баз данных, используйте параметр —one-database , как показано ниже:

Читать еще:  Как из удаленных писем восстановить во входящие

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

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

Команда выше передаст вывод клиенту mysql на удаленном хосте и импортирует его в базу данных с именем remote_database_name . Перед выполнением команды убедитесь, что база данных уже существует на удаленном сервере.

Автоматизация резервного копирования с помощью Cron

Автоматизация процесса резервного копирования баз данных так же проста, как создание задания cron, которое будет запускать команду mysqldump в указанное время.

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

  1. Создайте файл с именем .my.cnf в вашем домашнем каталоге пользователя: Скопируйте и вставьте следующий текст в файл .my.cnf . Не забудьте заменить dbuser и dbpasswd на пользователя базы данных и пароль пользователя.
  2. Ограничьте права доступа к файлу учетных данных, чтобы только ваш пользователь имел к нему доступ, используя команду cmod (подробнее про которую можно прочесть тут):
  3. Создайте каталог для хранения резервных копий при помощи комадны mkdir (про нее тоже есть статья):
  4. Откройте ваш пользовательский файл crontab: Добавьте следующее задание cron, которое будет создавать резервную копию имени базы данных mydb каждый день в 3 часа ночи: Не забудьте заменить username вашим реальным именем пользователя. Вы также можете создать еще один cron job, чтобы удалить любые резервные копии старше 30 дней: Конечно, вам нужно настроить команду в соответствии с вашим местоположением резервной копии и именами файлов. Чтобы узнать больше о команде find, ознакомьтесь с нашим Руководством по поиску файлов в Linux с помощью командной строки.

Заключение

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

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас 🙁 Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации 🙂 Просто оставьте свои данные в форме ниже.

Дамп и восстановление базы данных MySQL

Дамп и восстановление базы данных MySQL довольно просто и удобно делать удаленно через SSH или прямо через консоль сервера. Удаленно, это можно делать используя программы Putty/Kitty. Также указанные ниже примеры Вы можете выполнять и на Windows запустив командную строку ‘cmd‘. Ниже приведены примеры о том, как создавать дампы базы данных MySQL и затем восстанавливать их при необходимости, например для Вашего сайта, интернет-магазина или какого либо другого проекта.

Создание дампа базы данных MySQL

Для того, чтоб выполнять данные команды, подключитесь удаленно к Вашему серверу через SSH используя одну из перечисленных выше программ. После подключения и авторизации к серверу/хостингу, Вы можете вводить приведенные ниже команды.

В приведенном выше примере, для создания бекапа используется утилита mysqldump, которая входит в состав mysql. Далее указываются параметры для создания бекапа базы данных, которые разберем подробнее:

  • -u – параметр указывает логин, который будет использоваться для подключения к базе данных. В примере мы используем логин root, который нужно указать в этом параметре без пробела! В результате у нас это выглядит как -uroot
  • -p – параметр указывает что нужно ввести пароль для указанного логина. Мы его оставили пустым, в результате чего пароль нужно будет ввести после нажатия “Enter” при выполнении команды. Тем не менее, можно указать пароль сразу же здесь, как и в параметре логина, без пробела после -p, однако этот способ не является безопасным, так как консоль сохраняет Ваши команды в лог файл и если Вы его регулярно не очищаете, то он может быть просмотрен злоумышленником.
  • your_base – вместо этой строки в примере, вам необходимо указать реальное имя Вашей базы данных, для которой Вы создаете бекап.
  • > – оператор который показывает направление действия, т.е. как бы указывает, что вы собираетесь сделать запись из базы в файл.
  • dump_file.sql – это название Вашего файла .slq в которую нужно сохранить Вашу базу данных. Он указывается через пробел после оператора ‘>’. Вы можете задать любое другое имя. Например, чтобы в имени система автоматически вставила текущее время, достаточно указать строку вида:

Внимание! Если Вы указываете только имя файла, то он будет сохранен в той же директории, относительно которой Вы выполняете данную команду. Т.е. если Вы видите в строке приглашения ввода команд что-то вроде [root@dvs home]#, где root@dvs это логин и имя сервера, то файл будет создан в директории /home. Чтобы изменить сохранение файла по другому пути, укажите вместо имени полный путь для сохранения файла, например: /var/www/backup/dump_file.sql.

  • Во втором примере, вместо оператора ‘>‘ используется оператор ‘|‘, который указывает на необходимость выполнения дополнительной команды gzip c параметром ‘-c‘ которая позволяет сразу же запаковать дамп в архив, а только затем сохранить его в файл вида ‘2014-11-15.gz‘, о чем сообщает оператор ‘>‘.
  • Параметр –no-data позволяет создать дамп только структуры базы данных без самих данных. В некоторых случаях довольно полезно, когда данные не нужны.
  • Параметры –default-character-set=utf8 и –extended-insert=FALSE. Первый позволяет Вам явно указать кодировку, которая используется этой базой данных, тем самым избежать сохранение базы в неверной кодировке Вместо utf8 можно указать любую другую кодировку, например cp1251 . Второй параметр позволяет указать, что при экспорте для каждой записи необходимо создать отдельную команду INSERT. В некоторых случаях это может потребоваться при частичном восстановлении данных из дампа.
  • Восстановление базы данных из файла дампа MySQL

    Теперь рассмотрим с Вами обратный процесс восстановления базы данных из файла дампа. Данное действие выполняется при помощи программы mysql. Рассмотрим сразу же пример.

    Cредства MySQL восстановления из дампа – спасаем связки попугая!

    Дата публикации: 2016-04-18

    От автора: пришел в гости к другу, а у его жены истерика, попугай орет: «Май-эс-кью-эль дамп». Сам друг лежит с головной болью и маниакальным желанием узнать, как происходит в MySQL восстановление из дампа. Чтобы спасти головы остальных «несведущих», нервы их жен и голосовые связки попугаев, рассмотрим эту тему подробнее.

    Опасность «All inclusive»

    Мой друг, как и многие из новичков, для изучения азов разработки использует программные пакеты «Все включено». Самым распространенным в Рунете является джентльменский набор «Денвер». И своей «комплексностью» (в его состав входит локальный сервер, оболочка для работы с СУБД, сервер MySQL) он доводит этих самых «джентльменов» до умопомрачения.

    В состав «Денвера» входят лишь несколько стандартных утилит для работы с MySQL. А так как все мы современные люди, то за недостающей информацией (для понимания сущности чего-либо) отправляемся в интернет. Но в материалах, опубликованных в Сети, ничего не говорится, что для выполнения отдельных наборов команд требуется наличие в стандартном пакете MySQL специализированных утилит. Например, чтобы создать дамп базы данных MySQL, нужна программа MySQLDump.

    Поэтому, если для обучения и тестирования кода вы также используете Denwer, и описываемые в этом материале запросы не будут выполняться в командной строке, то перейдите по адресу: D:Webserverusrlocalmysql-5.5bin

    И посмотрите, какие утилиты для работы с сервером СУБД имеются «на борту» клиентской машины. Повторюсь еще раз, нам сегодня потребуется программка MySQLDump.

    Бесплатный курс по PHP программированию

    Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

    В курсе 39 уроков | 15 часов видео | исходники для каждого урока

    Работа с MySQLDump

    Данная утилита представляет собой обычный «экзешник», который после скачивания следует разместить в папку bin (путь к ней указан в первом разделе материала). Это маленькое приложение позволяет решать «глобальные» задачи – осуществлять в MySQL восстановление из дампа, создавать бэкапы и настраивать параметры резервных копий.

    Утилита не имеет собственного интерфейса, поэтому работа с ней происходит через стандартную CMD, входящую в стандартный набор программ Windows (запуск через меню «Пуск»). А теперь пошагово:

    Сначала переходим в виртуальный диск (создается после запуска входящего в состав «Денвера» Apache).

    Если вы не используете набор для «джентльменов», то это не значит, что вы не джентльмен. Просто вам нужно пропустить этот шаг инструкции.

    Затем с помощью команды cd (change directory) указываем путь к папке, где установлен MySQL. В «Денвере» эта директория находится здесь: Z:usrlocalmysql-5.5bin

    При отдельной инсталляции системы управления БД эта папка располагается: C:Program Files…

    Поскольку мы уже находимся на нужном (виртуальном) диске, то нам осталось указать лишь часть пути после команды cd:

    Проверим работоспособность приложения, и создадим MySQL дамп базы, которая находится на нашем сервере. Например, БД «wordpress». Для этого будем использовать одноименную с утилитой команду mysqldump. Вот ее синтаксис:

    Восстановить базу данных mysql из консоли dump

    You are using an outdated browser. Please upgrade your browser.

    By signing up, you agree to our Terms of Service and Privacy Policy.

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

    В этой статье мы обсудим как сделать копию БД MySQL и восстановить данные с нее. Резервное копирование будет выполняться с помощью утилиты mysqldump. Ф айл с копией базы называется дампом. Дампы базы данных – это просто текстовые файлы, содержащие все команды SQL, необходимые для воссоздания базы данных с нуля.

    Они не только выручают в случае, когда нужно вернуть информацию, а также используются, если есть необходимость перенести БД на другой сервер и т.д. При смене хостинг-провайдера всегда удобно пользоваться дампом. У phpMyAdmin также присутствует функция экспорта (выкачивание себе базы данных), но очень часто там есть лимиты на размер загружаемых/выгружаемых файлов и это не подходит для больших БД. Также через командную строку выполнять копирование удобнее, так как можно сделать копии нескольких или всех баз сразу, что сильно сэкономит время, на последующее их восстановление.

    Создание дампа БД

    Сначала подключаемся к серверу по SSH ( данные для входа приходят на почту при активации услуги для VPS/VDS, а доступ по SSH на виртуальном хостинге предоставляется по запросу в техподдержку). Для подключения по этому протоколу можно использовать любой SSH-клиент, например, Kitty.

    Дальше в командной строке вводим команду со следующим синтаксисом:

    • для резервного копирования одной базы:

    mysqldump -u [username] -p[pass] [dbname] > [backupfile.sql]

    Где:
    -u [username]- имя пользователя БД;
    -p[pass]- пароль пользователя к БД;
    [dbname]- указываем название базы данных;
    [backupfile.sql]- название файла, куда будет сливаться дамп, имеет расширение .sql.

    Также можно указать папку или путь для сохранения этого файла:

    mysqldump -u [username] -p[pass] [dbname] > [/tmp/backupfile.sql]

    • для резервного копирование нескольких баз:

    mysqldump -u [username] -p[pass] –databases [dbname1][dbname2] >[backupfile.sql]

    где, [dbname1][dbname2] – название баз данных, для которых нужно сделать backup.

    • для резервного копирования всех баз:

    mysqldump -u [username] -p[pass] –all-databases > [backupfile.sql]

    • для определенных таблиц из БД:

    mysqldump -u [username] -p[pass] [dbname] [table1name] [table2name] > [backupfile.sql]

    где, [table1name] [table2name] – название таблиц БД [dbname] для которых нужно выполнить дамп.

    • если нужно исключить из дампа БД определенную таблицу:

    mysqldump -u [username] -p[pass] [dbname] –ignore-table=[dbname].[tablename] > [backupfile.sql]

    • исключить несколько таблиц:

    mysqldump -u [username] -p[pass] [dbname] –ignore-table=[dbname].[table1name]–ignore-table=[dbname].[table21name] > [backupfile.sql]

    где, [table1name] и [table21name] – название таблиц из базы данных [dbname], которые не нужно включать в дамп.

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

    Восстановление БД из дампа

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

    mysql -u [username] -p[pass] [dbname] 615 раз(а) 1 Сегодня просмотрено раз(а)

    Ссылка на основную публикацию
    Adblock
    detector