Бэкап базы данных mysql windows

Содержание
  1. Как сделать резервную копию баз данных MySQL (MariaDB) в Windows без phpMyAdmin
  2. Как сделать резервную копию БД MySQL и MariaDB в Windows
  3. Восстановление баз данных из резервной копии без phpMyAdmin в Windows
  4. Резервное копирование базы данных MySQL и каталогов в Windows
  5. Копирование файлов
  6. Копия базы данных
  7. ИТ База знаний
  8. Полезно
  9. Навигация
  10. Серверные решения
  11. Телефония
  12. Корпоративные сети
  13. Курс по сетям
  14. 15 примеров команды PING для диагностики сети
  15. Руководство по команде grep в Linux
  16. Рекурсивно найти слово в файлах и папках Linux
  17. Как проверить дисковое пространство в Linux
  18. Проверка файловой системы Linux
  19. Linux vs Unix — в чем разница?
  20. Как запустить Bash скрипт в Linux
  21. Как сделать резервную копию и восстановить базу данных MySQL с помощью Mysqldump
  22. Синтаксис команды Mysqldump
  23. Резервное копирование одной базы данных MySQL
  24. Резервное копирование нескольких баз данных MySQL
  25. Резервное копирование всех баз данных MySQL
  26. Резервное копирование всех баз данных MySQL в отдельные файлы
  27. Создание сжатой резервной копии базы данных MySQL
  28. Создать резервную копию с отметкой времени
  29. Восстановление дампа MySQL
  30. Восстановление одной базы данных MySQL из полного дампа MySQL
  31. Экспорт и импорт базы данных MySQL одной командой
  32. Автоматизация резервного копирования с помощью Cron
  33. Заключение
  34. Резервное копирование MySQL
  35. Резервное копирование базы данных
  36. Восстановление из резервной копии
  37. Выводы

Как сделать резервную копию баз данных MySQL (MariaDB) в Windows без phpMyAdmin

Как сделать резервную копию БД MySQL и MariaDB в Windows

Резервную копию можно создать в графическом веб-интерфейсе в phpMyAdmin. Если вы хотите сделать бэкап сразу всех баз данных, то перейдите на главную страницу phpMyAdmin, оттуда перейдите во вкладку Экспорт. Далее всё достаточно просто.

Аналогично при бэкапе отдельных баз данных: перейдите на страницу интересующей БД, а далее во вкладку Экспорт.

phpMyAdmin — это прослойка на PHP между СУБД и пользователем, по этой причине скорость создания дампа очень большой базы займёт больше времени, чем если создавать его напрямую через специальную программу от MySQL или MariaDB.

Если вы решили сделать бэкап базы данных MySQL из командной строки в Windows, то для этого понадобиться утилита mysqldump.exe, она поставляется вместе с MySQL и расположена в каталоге с установленной MySQL/MariaDB в папке bin. Например, если СУБД установлена в C:\Server\bin\mysql-8.0, то программа mysqldump.exe будет находиться в папке C:\Server\bin\mysql-8.0\bin\.

Для её использования откройте командную строку и перетащите туда программу. Программу можно использовать с разнообразными опциями.

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

Кстати, файл нужно искать в той папке, которую вы видите в приглашении командной строки.

Для того, чтобы сделать резервную копию только одной базы данных (например, rsyslog):

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

Чтобы сделать резервную копию только одной таблицы (wp_posts) из базы данных (wordpress):

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

Восстановление баз данных из резервной копии без phpMyAdmin в Windows

Для экспорта баз данных, phpMyAdmin работает довольно неплохо. Но с импортом возникло ряд проблем. Намного проще и в разы быстрее сделать импорт без phpMyAdmin и других помощников на PHP скриптах.

Для этого откройте командную строку Windows. Нажмите комбинацию WIN+x, затем выберите Windows PowerShell. Чтобы выйти из PowerShell и перейти в командную строку, выполните:

Затем смените текущую папку (укажите путь до подпапки bin внутри папки, куда установлена MySQL или MariaDB — у вас это может быть другой путь):

Резервное копирование базы данных MySQL и каталогов в Windows

Совсем недавно писал как реализовать резервное копирование в Ubuntu, теперь проделаем тоже самое с базой данных mysql и каталогами под Windows. В примере резервирование происходит с помощью бесплатного архиватора «7-zip» — установите его.

Копирование файлов

Создаём в корне диска « C:// » (или другом месте) текстовый документ. Называем его «backup.bat». Открываем для редактирования и вносим следующее:

0,-3%) — в переменную «sFolderName» записываем текущую дату и время;

  • set sFolderName=»Y:\my-comp\%sFolderName::=-%» — в эту же переменную добавляем полный путь для копирования, при этом концовка в виде ::=- обозначает что все двоеточия в названии конечного каталога мы заменяем на знак тире, так как Windows не поддерживает знак двоеточия в названиях файлов и каталогов;
  • set infotecsbackup=»%sFolderName%\infotecs_backup.zip» — создаем переменную, в которой будет содержатся путь и имя конечного файла;
  • «C:\Program Files\7-Zip\7z.exe» u «%infotecsbackup%» «C:\Program Files\InfoTeCS\*» — указываем путь к архиватору с директивой «u» — добавочный тип копирования. Указываем имя архива для записи и источник.
  • Читайте также:  Свой браузер для windows phone

    В качестве пути назначения я выбрал сетевой диск удаленного компьютера. Так что выход из строя компьютера не помешает восстановить резервные копии. Ещё можно использовать программу «CobianBackup». Она позволяет отправлять файлы по FTP в определенное время.

    Осталось запустить планировщик заданий и добавить в него выполнение файла «backup.bat» каждый день.

    Копия базы данных

    Если в Windows установлен mysql сервер, то можно делать копию его баз данных. Для этого добавьте в файл «backup.bat» их предыдущего примера следующие команды:

    Присваиваем переменной «filebackupsql» название файла, в который осуществляем сохранение базы данных. Затем прописываем путь к утилите «mysqldump». Тут же пишем логин, пароль и имя базы данных. В конце идёт переменная, содержащяя путь куда осуществить дамп.

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

    Курс по Asterisk

    Полезно

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

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

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

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

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

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

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

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

    Телефония

    FreePBX и Asterisk

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

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

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

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

    Курс по сетям

    15 примеров команды PING для диагностики сети

    Руководство по команде grep в Linux

    Рекурсивно найти слово в файлах и папках Linux

    Как проверить дисковое пространство в Linux

    Проверка файловой системы Linux

    Linux vs Unix — в чем разница?

    Как запустить Bash скрипт в Linux

    Еженедельный дайджест

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

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

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

    Обучайся в Merion Academy

    Пройди курс по сетевым технологиям

    Начать

    Файлы резервных копий, созданные утилитой 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 и перенаправьте его в файл, как показано ниже:

    Читайте также:  Смена редактора по умолчанию linux

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

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

    Команда выше создаст файл в следующем формате 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. Также эти копии могут быть очень полезными при переносе проекта на другой сервер.

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

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

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

    Для экспорта информации из базы данных в формате SQL можно использовать утилиту mysqldump. Вот ее синтаксис:

    $ mysqldump опции имя_базы [имя_таблицы] > файл.sql

    По умолчанию утилита будет выводить все в стандартный вывод, поэтому нам нужно перенаправить эти данные в файл, что мы и делаем с помощью оператора «>». Опции указывают параметры аутентификации и работы, а имя базы и таблицы — данные которые нужно экспортировать. Теперь рассмотрим кратко опции, которые будем использовать:

    • -A — копировать все таблицы из всех баз данных;
    • -i — записывать дополнительную информацию в комментариях;
    • -c — использовать имена колонок для инструкции INSERT;
    • -a — включать все возможные опции в инструкцию CREATE TABLE;
    • -k — отключает первичные ключи на время копирования;
    • -e — использовать многострочный вариант инструкции INSERT;
    • -f — продолжить даже после ошибки;
    • -h — имя хоста, на котором расположен сервер баз данных, по умолчанию localhost;
    • -n — не писать инструкции для создания базы данных;
    • -t — не писать инструкции для создания таблиц;
    • -d — не записывать данные таблиц, а только их структуру;
    • -p — пароль базы данных;
    • -P — порт сервера баз данных;
    • -Q — брать все имена таблиц, баз данных, полей в кавычки;
    • -X — использовать синтаксис XML вместо SQL;
    • -u — пользователь, от имени которого нужно подключаться к базе данных.
    Читайте также:  Resize disk linux lvm

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

    mysqldump -u имя_пользователя -p имя_базы > data-dump.sql

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

    head -n 5 data-dump.sql

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

    mysqldump -h хост -P порт -u имя_пользователя -p имя_базы > data-dump.sql

    Копирование таблицы MySQL может быть выполнено простым добавлением имени таблицы в конец строки:

    mysqldump -u имя_пользователя -p имя_базы имя_таблицы > data-dump.sql

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

    mysqldump -u имя_пользователя -pпароль имя_базы > data-dump.sql

    Мы можем делать бэкап вручную время от времени, но это не совсем удобно, поскольку есть другие важные дела. Поэтому используем планировщик cron, чтобы автоматизировать процесс. Тут есть два способа более простой, и более сложный, но точный. Допустим, нам нужно создавать резервную копию каждый день, тогда просто создайте скрипт в папке /etc/cron.daily/ со следующим содержимым:

    sudo vi /etc/cron.daily/mysql-backup

    !/bin/bash
    /usr/bin/mysqldump -u имя_пользователя -pпароль имя_базы > /backups/mysql-dump.sql

    Папку /backups/mysql-dump.sql нужно заменить на свою папку для резервных копий. Осталось дать скрипту права на выполнение:

    chmod ugo+x /etc/cron.daily/mysql-backup

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

    Добавьте в открывшейся файл такую строку и сохраните изменения:

    30 2 * * * /usr/bin/mysqldump -u имя_пользователя -pпароль имя_базы > /backups/mysql-dump.sql

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

    Восстановление из резервной копии

    Восстановить резервную копию mysql или mariadb из существующего SQL файла тоже очень просто. Поскольку использовался синтаксис sql мы просто можем выполнить все команды с помощью стандартного клиента mysql.

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

    Затем создайте новую базу данных, например, с именем new_database, если база данных уже существует, то этого делать не нужно:

    mysql> CREATE DATABASE new_database;

    Дальше закройте оболочку, нажав сочетание клавиш Ctrl+Q и импортируйте данные из файла командой:

    mysql -u пользователь -p база_данных

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

    Выводы

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

    Оцените статью