Настройка бэкапа mysql windows

Обновлено: 04.07.2024

От автора: база данных без резервного копирования или, попросту говоря, бэкапа подобна средневековому замку без рыцарей — в любой момент кто-то или что-то может нарушить ее целостность. Практика показывает, что не существует идеальных БД: они постоянно «падают», перегружаются и начинают работать некорректно. Чтобы максимально обезопасить себя и свой проект, веб-мастера создают MySQL backup copy. Это файл, который хранит данные обо всех внесенных изменениях в конкретный момент времени. Сегодня расскажем, как делать это грамотно. Причем, не единственным способом.

Разные подходы

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

Просто скопируйте

Это самый простой способ, который может предложить веб-разработка, и самый примитивный. Как вы поняли, можно просто скопировать все файлы и сохранить их там, где это будет удобно. Необходимо перейти в папку хранения баз данных. Она находится по пути библиотек lib, mysql/db/. Далее выберите файл с именем базы, для которой нужно создать бэкап. Естественно, что для такого метода необходима полная остановка сервера. Если этого не сделать, вероятны два неблагоприятных варианта развития событий:

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

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


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

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

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

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

Проводим back-up в системе MySQL

Но и для такого случая программисты придумали трюк. Как вы делаете снимок экрана на своем смартфоне, также можно провести снапшот файловой системы, на которой размещена база. Это не настоящее резервное копирование, а скорее моментальное фото, которое впоследствии даст представление о положении вещей в конкретное время. Не только «сиквел», но и другие языки программирования поддерживают снэпшоты. Можно определить последовательность действий.

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

Слив кэша файловой системы.

«Фото» момента в системе.

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

Если такой способ кажется вам наиболее адекватным, то пора задуматься о системе, которая будет поддерживать его напрямую. К ним относится ZFS. Даже если вы его не используете, но на машину установлен Logical Volume Manager, то снепшоты в MySQL так же легко доступны. Существует и программное обеспечение для таких снимков, которое доступно на Linux-осях. Разработчики активно используют Hot Copy, но он тоже не является панацеей для всех случаев.

Копия из текста

Можно проводить бэкапы и другим путем. Если речь идет о базах класса production, то изымать файлы из нормальной работы совершенно необязательно благодаря специфическим SQL-командам, таким как SELECT INTO OUTFILE и LOAD DATA INFILE. Можно провести селективную выгрузку, а не копировать весь файл целиком. Выбору подлежит каждая отдельная строка таблицы.

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

Через интерфейс веб-приложения

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

Приложение написано на языке «препроцессора», и его основной функцией является как раз бэкап в MySQL. Функционал также рассчитан и на то, чтобы восстановить БД из уже готовой копии, но практика показывает, что лучше использовать Sypex Dumper для двух этапов: копирования и восстановления. Основным преимуществом этого ПО называют невероятную оптимизированность. Веб-приложение позволяет работать не только с простыми проектами, но с базами, размер которых доходит до тысячи мегабайт.

Основной задачей при создании была разработка такой утилиты, которая бы решала проблемы копирования там, где не справлялась популярная phpMyAdmin. Разработчику не понравилось то, что она не решает проблему копирования массивных БД. Изначально инструмент входил в систему управления контентом, которую автор создал для своих проектов. Качественным преимуществом стала упрощенная работа с русскими кодировками, решалось большинство проблем, которые с ними возникают. Последние версии дампера были оснащены возможностями технологии AJAX, а сама программа была переведена на большинство языков.

В основном, преимуществами Sypex Dumper можно назвать:

генерация бекапа без сторонних утилит. Все происходит благодаря одному только PHP;


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

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

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

взаимодействие с БД абсолютно любого размера. Даже в 2018 году актуальны разработки, которые компания совершила в 2013-ом;

быстродействие. В сравнении с phpMyAdmin, Sypex Dumper — пуля;

смарт-Shift в плане работы с кодировкой;

невысокие системные требования к машине, на которой запускается утилита.

Из репликации

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

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

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

Детально о дампе

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

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

Чтобы создать дамп, необходимо обратиться к консоли системы управления базами данных, в нашем случае — MySQL. Для этого заготовлена специальная команда:

В этом разделе описывается создание полной резервной копии базы данных в SQL Server с помощью SQL Server Management Studio, Transact-SQLили PowerShell.

Ограничения

  • Инструкция BACKUP не допускается в явных и неявных транзакциях.
  • Резервные копии, созданные более поздними версиями SQL Server , не могут быть восстановлены в более ранних версиях SQL Server.

Основные и дополнительные сведения о понятиях и задачах, связанных с резервным копированием см. в этой статье.

Рекомендации

безопасность

Для резервной копии базы данных свойству TRUSTWORTHY присваивается значение OFF. Дополнительные сведения о том, как задать для параметра TRUSTWORTHY значение ON, см. в разделе Параметры ALTER DATABASE SET (Transact-SQL).

Начиная с версии SQL Server 2012 (11.x), параметры PASSWORD и MEDIAPASSWORD при создании резервных копий не поддерживаются. Все еще вы можете восстанавливать резервные копии, созданные с паролями.

Permissions

Разрешения BACKUP DATABASE и BACKUP LOG по умолчанию назначаются участникам предопределенной роли сервера sysadmin и предопределенным ролям базы данных db_owner и db_backupoperator.

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

Использование среды SQL Server Management Studio

При создании задания резервного копирования с помощью среды SQL Server Management Studio вы можете сформировать соответствующий скрипт Transact-SQL BACKUP, нажав кнопку Скрипт и выбрав назначение скрипта.

После подключения к соответствующему экземпляру Microsoft Компонент SQL Server Database Engine в обозревателе объектов разверните дерево сервера.

Разверните узел Базы данных и выберите пользовательскую базу данных или разверните узел Системные базы данных и выберите системную базу данных.

Щелкните правой кнопкой мыши базу данных, резервную копию которой вы намерены создать, наведите указатель на пункт Задачи и выберите команду Создать резервную копию. .

В диалоговом окне Резервное копирование базы данных выбранная база данных приводится в раскрывающемся списке (ее можно изменить на любую другую базу данных на сервере).

В раскрывающемся списке Тип резервной копии выберите нужный вариант (по умолчанию выбран тип Полная).

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

В разделе Компонент резервного копирования выберите База данных.

В разделе Назначение проверьте расположение по умолчанию для файла резервной копии (в папке ../mssql/data).

Чтобы выбрать другое устройство, можно использовать раскрывающийся список Создать резервную копию на. Щелкните Добавить, чтобы добавить объекты резервного копирования и (или) целевые объекты. Резервный набор данных можно перераспределить между несколькими файлами, чтобы повысить скорость резервного копирования.

Чтобы удалить целевой объект резервного копирования, выберите его и щелкните Удалить. Чтобы просмотреть содержимое существующего целевого объекта резервного копирования, выберите его и щелкните Содержимое.

(Необязательно) Просмотрите другие доступные параметры на страницах Параметры носителя и Параметры резервного копирования.

Чтобы начать резервное копирование, нажмите кнопку OK.

После успешного завершения резервного копирования щелкните ОК, чтобы закрыть диалоговое окно SQL Server Management Studio.

Дополнительные сведения

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

Также можно установить флажок Резервная копия только для копирования, чтобы создать резервную копию только для копирования. Резервная копия только для копирования — это резервная копия SQL Server, которая не зависит от обычной последовательности создания традиционных резервных копий SQL Server. Дополнительные сведения см. в разделе Резервные копии только для копирования (SQL Server). Резервная копия только для копирования недоступна для типа резервной копии Разностная.

При резервном копировании на URL-адрес параметр Перезаписать носитель на странице Параметры носителя недоступен.

Примеры

Для следующих примеров создайте тестовую базу данных со следующим кодом Transact-SQL:

A. Полное резервное копирование на диск в расположение по умолчанию

В этом примере база данных SQLTestDB будет заархивирована на диск в папку резервных копий по умолчанию.

После подключения к соответствующему экземпляру Microsoft Компонент SQL Server Database Engine в обозревателе объектов разверните дерево сервера.

Разверните элемент Базы данных, щелкните SQLTestDB правой кнопкой мыши, наведите указатель на пункт Задачи и выберите действие Создать резервную копию. .

Щелкните ОК.

После успешного завершения резервного копирования щелкните ОК, чтобы закрыть диалоговое окно SQL Server Management Studio.

Создание резервной копии SQL

Б. Полное резервное копирование на диск в нестандартное расположение

В этом примере база данных SQLTestDB будет заархивирована на диск в выбранную вами папку.

После подключения к соответствующему экземпляру Microsoft Компонент SQL Server Database Engine в обозревателе объектов разверните дерево сервера.

Разверните элемент Базы данных, щелкните SQLTestDB правой кнопкой мыши, наведите указатель на пункт Задачи и выберите действие Создать резервную копию. .

На странице Общие в разделе Назначение выберите Диск в раскрывающемся списке Создать резервную копию на: .

Щелкайте элемент Удалить, пока не будут удалены все существующие файлы резервных копий.

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

Щелкните ОК, а затем еще раз щелкните ОК, чтобы начать резервное копирование.

После успешного завершения резервного копирования щелкните ОК, чтобы закрыть диалоговое окно SQL Server Management Studio.

Изменить расположение базы данных

В. Создание зашифрованной резервной копии

В этом примере база данных SQLTestDB будет заархивирована с шифрованием в папку резервных копий по умолчанию.

После подключения к соответствующему экземпляру Microsoft Компонент SQL Server Database Engine в обозревателе объектов разверните дерево сервера.

Разверните узел Базы данных и узел Системные базы данных, щелкните правой кнопкой мыши базу данных master и выберите действие Создать запрос, чтобы открыть окно запроса с подключением к базе данных SQLTestDB .

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

В обозревателе объектов в узле Базы данных щелкните правой кнопкой мыши базу данных SQLTestDB , наведите указатель на пункт Задачи и выберите действие Создать резервную копию. .

На странице Параметры носителя в разделе Перезапись носителя выберите Создать резервную копию в новом наборе носителей и удалить все существующие резервные наборы данных.

На странице Параметры резервного копирования в разделе Шифрование установите флажок Зашифровать резервную копию .

В раскрывающемся списке "Алгоритм" выберите AES 256.

В раскрывающемся списке Сертификат или асимметричный ключ выберите MyCertificate .

Щелкните ОК.

Зашифрованная резервная копия

Г. Резервное копирование в службу хранилища BLOB-объектов Azure

В приведенном ниже примере создается полная резервная копия базы данных SQLTestDB в службе "Хранилище BLOB-объектов Azure". В этом примере предполагается, что у вас уже есть учетная запись хранения с контейнером BLOB-объектов. В примере создается подписанный URL-адрес, и если у контейнера уже есть подписанный URL-адрес, операция завершится сбоем.

Если у вас нет контейнера BLOB-объектов Azure в учетной записи хранения, создайте его перед продолжением работы. Дополнительные сведения см. в статье Создание учетной записи хранения и разделе Создание контейнера.

После подключения к соответствующему экземпляру Microsoft Компонент SQL Server Database Engine в обозревателе объектов разверните дерево сервера.

Разверните элемент Базы данных, щелкните SQLTestDB правой кнопкой мыши, наведите указатель на пункт Задачи и выберите действие Создать резервную копию. .

На странице Общие в разделе Назначение выберите URL-адрес в раскрывающемся списке Создать резервную копию на: .

Если ранее вы зарегистрировали контейнер службы хранилища Azure, который хотите использовать с SQL Server Management Studio, то выберите его. В противном случае щелкните Создать контейнер, чтобы зарегистрировать новый контейнер.

В диалоговом окне Соединение с подпиской Майкрософт войдите в свою учетную запись.

В текстовом поле с раскрывающимся списком Выберите учетную запись хранения выберите свою учетную запись хранения.

В текстовом поле с раскрывающимся списком Выбрать контейнер BLOB-объектов выберите контейнер больших двоичных объектов.

В поле календаря с раскрывающимся списком Политика срока действия подписанных URL-адресов выберите дату окончания срока действия для политики общего доступа, создаваемой в этом примере.

Щелкните Создать учетные данные, чтобы создать подписанный URL-адрес и учетные данные в SQL Server Management Studio.

Щелкните ОК, чтобы закрыть диалоговое окно Соединение с подпиской Майкрософт.

В текстовом поле Файл резервной копии при необходимости измените имя файла резервной копии.

Щелкните ОК, чтобы закрыть диалоговое окно Выбор места назначения резервной копии.

Чтобы начать резервное копирование, нажмите кнопку OK.

После успешного завершения резервного копирования щелкните ОК, чтобы закрыть диалоговое окно SQL Server Management Studio.

Использование Transact-SQL

Создайте полную резервную копию базы данных, выполнив инструкцию BACKUP DATABASE для создания полной резервной копии базы данных и указав следующее:

  • имя базы данных для создания резервной копии;
  • устройство резервного копирования, на которое записывается полная резервная копия базы данных.

Базовая структура синтаксиса Transact-SQL для полного резервного копирования базы данных:

BACKUP DATABASE database TO backup_device [ , . n ] [ WITH with_options [ , . o ] ] ;

< DISK | TAPE >= physical_backup_device_name

При необходимости укажите один параметр WITH или несколько. Здесь описываются некоторые основные параметры WITH. Сведения о всех параметрах WITH см. в разделе BACKUP (Transact-SQL).

Основные параметры WITH резервного набора данных:

  • : Только в версии SQL Server 2008 Enterprise и выше указано, выполняется ли команда backup compression для этой резервной копии, переопределяя значение по умолчанию на уровне сервера.
  • ENCRYPTION (ALGORITHM, SERVER CERTIFICATE | ASYMMETRIC KEY) : Только для SQL Server 2014 и выше укажите используемый алгоритм шифрования, а также сертификат или асимметричный ключ для шифрования.
  • DESCRIPTION=< 'text' | @text_variable >: Задает произвольное текстовое описание резервного набора данных. В этой строке может содержаться до 255 символов.
  • NAME = < имя_резервного_набора_данных | @переменная_резервного_набора_данных > : Указывает имя резервного набора данных. Длина имени не может превышать 128 символов. Если имя не указано, оно остается пустым.

По умолчанию команда BACKUP добавляет резервную копию в существующий набор носителей, сохраняя существующие резервные наборы данных. Чтобы явно задать значение, используйте параметр NOINIT . Сведения о присоединении к существующим резервным наборам данных см. в разделе Наборы носителей, семейства носителей и резервные наборы данных (SQL Server).

Чтобы отформатировать носитель резервной копии, используйте параметр FORMAT:

FORMAT [ , MEDIANAME = < media_name | @ media_name_variable > ] [ , MEDIADESCRIPTION = < text | @ text_variable > ]

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

Будьте предельно осторожны, используя предложение FORMAT инструкции BACKUP , так как оно удаляет все резервные копии, сохраненные ранее на носителе резервных копий.

Примеры

Для следующих примеров создайте тестовую базу данных со следующим кодом Transact-SQL:

A. Резервное копирование на дисковое устройство

В следующем примере производится резервное копирование всей базы данных SQLTestDB на диск и создание нового набора носителей с помощью параметра FORMAT .

Б. Резервное копирование на ленточное устройство

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

В. Резервное копирование на логическое ленточное устройство

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

Использование PowerShell

Используйте командлет Backup-SqlDatabase . Чтобы явно указать, что это полная резервная копия базы данных, задайте параметр -BackupAction со значением Database, которое используется по умолчанию. Данный параметр является необязательным для полных резервных копий баз данных.

Для этих примеров требуется модуль SqlServer. Чтобы определить, установлен ли он, выполните команду Get-Module -Name SqlServer . Чтобы установить его, выполните команду Install-Module -Name SqlServer в сеансе PowerShell с правами администратора.

Дополнительные сведения см. в статье SQL Server PowerShell Provider.

При открытии окна PowerShell из SQL Server Management Studio для подключения к установке SQL Server учетные данные можно опустить, так как для установки подключения между PowerShell и экземпляром SQL Server автоматически используются ваши учетные данные в SSMS.

Примеры

A. Полная резервная копия (локальная)

В следующем примере создается полная резервная копия базы данных <myDatabase> в заданном по умолчанию расположении резервного копирования на экземпляре сервера Computer\Instance . Дополнительно в этом примере указывается параметр -BackupAction Database.

Если вы используете сервер MySQL с важной информацией, у вас может возникнуть желание периодически делать резервные копии баз данных. Инструмент командной строки Linux под названием mysqldump позволяет вам забэкапить базы данных MySQL без необходимости останавливать MySQL сервер. mysqldump на выходе генерирует текстовый файл, содержащий серию MySQL команд, которые представляют текущий снимок баз данных, которые были подвергнуты резервному копированию. Полученный на выходе mysqldump файл, может быть с лёгкостью сжат и/или зашифрован, если в этом есть необходимость.

В этом уроке я опишу как сделать резервную копию MySQL сервера с помощью mysqldump.

3 января стартует курс «SQL-injection Master» © от команды The Codeby

За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

Запись на курс до 10 января. Подробнее .

Программа mysqldump содержится в клиентском пакете MySQL. Поэтому, в первую очередь нужно установить клиентский пакет.

Для установки mysqldump на Ubuntu, Debian или Mint:

Для установки mysqldump на CentOS, Fedora или RedHat:

Чтобы сгенерировать онлайн снимок живого MySQL сервера, вам нужно предотвратить любые обновления его баз данных во время процедуры создания резервной копии. Как добиться этого зависит от системы хранения, которое вы используете внутри для MySQL таблиц. Поэтому в первую очередь выясните, какую систему хранения (например, MyISAM, Innodb) вы используете. Эта инструкция расскажет вам как.

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

Обратите внимание, что в вышеприведённой mysqldump команде нет пробелов между опциями аргументов (например, -h, -u, -p) и самими величинами аргумента (например, server-ip-address, username, password).

Резервные копии баз данных MyISAM или InnoDB/MyISAM

Приведённая выше команда, тем не менее, не работает, если вы используете таблицы MyISAM или смесь таблиц InnoDB/MyISAM, поскольку MyISAM не поддерживает транзакции. В этом случае вам нужно явным образом заблокировать все таблицы на время проведения резервного копирование. Как это сделать показано ниже.

Вышеприведённый MySQL оператор flush закрывает все открытые таблицы в сервере MySQL и получает блоки чтения всех таблиц во всех существующих базах данных, тем самым предотвращая любые записи в базы данных. Это обеспечивает последовательных снимок запущенной системы. Теперь продолжайте выполнять резервное копирование.

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

Бэкап баз данных MySQL в Widnows

Пользователи Widnows тоже люди и у них тоже возникает потребность в создании резервных копий. Красота использования кроссплатформенных программ в том, что синтаксис команд (если это консольное приложение) или внешний вид интерфейса (если он есть) одинаковые. Т.е. не нужно изучить две разные программы.

Файл в Widnows называется mysqldump.exe, лежит в подкаталоге bin корневого каталога MySQL. При запуске из командной строки нужно прописывать полный путь до файла. Например, у меня этот файл размещён в папке C:Serverbinmysql-5.6bin, следовательно моя команда (запускаю в командной строке — Win+X и там выбрать «Командная строка»):

Если делаете на локальном компьютере, то -h[server-ip-address] можно пропустить.

Для файла backup.sql тоже можно указать абсолютный путь, чтобы потом не пришлось искать его по всему Widnows. Если абсолютный путь не указан, и если командная строка запущена не от имени администратора, то файл по умолчанию будет размещён в корне пользовательского каталога.

Например, у меня файл появился в папке C:UsersAlex

Если командная строка запущена от имени администратора, то файл появится в каталоге C:WindowsSystem32

1 декабря стартует зимний поток курса " Тестирование Веб-Приложений на проникновение " от команды codeby . Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, активный фаззинг, уязвимости, пост-эксплуатация, инструментальные средства, Social Engeneering и многое другое. На курс можно записаться до 10 декабря включительно. Подробнее .

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

Причём данную задачу часто решают разными методами. Кто-то по старинке использует «консоль», кто-то использует программу с графическим интерфейсом MySQL Workbench и создаёт резервные копии с помощью Reverse Engineer, как это советуют в ряде статей в интернете.

Однако MySQL Workbench предлагает и другой способ резервного копирования, который значительно проще, чем работа с Reverse Engineer и позволяет создавать резервные копии буквально несколькими кликами мыши.

Для этого выберите в главном меню Server-> DataExport.

Создание резервной копии

После этого откроется вкладка с настройками.

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

Создание резервной копии

По умолчанию в резервную копию будут сохранены все объекты. Поэтому, если сохранение некоторых из них не требуется, снимите флажок рядом с его названием.

В нижней части вкладки можно выбрать способ резервного копирования. Их всего 2.

  • Export to Dump Project Folder – сохранение резервной копии осуществляется путём создания папки в которую помещаются скрипты для каждого из объектов базы данных по отдельности. Перед созданием резервной копии необходимо указать папку для сохранения скриптов.
  • Export to Self-Contained File – все объекты базы данных сохраняются в 1 общий скрипт. Данный вариант более удобен и является классическим при создании резервных копий баз данных для программ и сайтов. Перед созданием резервной копии необходимо указать имя файла скрипта.

В этой статье использован способ сохранения Export to Self-Contained File.

После того, как выбраны база данных, её объекты, которые необходимо сохранить в резервной копии и способ резервного копирования, остаётся только нажать кнопку Start Export и резервная копия будет создана.

Читайте также: