Как создать резервную копию сервера в службе "База данных Azure для MySQL" и восстановить его с помощью портала Azure

ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для MySQL — отдельный сервер

Важно!

База данных Azure для MySQL один сервер находится на пути выхода на пенсию. Настоятельно рекомендуется выполнить обновление до База данных Azure для MySQL гибкого сервера. Дополнительные сведения о миграции на гибкий сервер База данных Azure для MySQL см. в статье "Что происходит с одним сервером База данных Azure для MySQL?"

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

Необходимые компоненты

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

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

  • Для работы с этой статьей требуется Azure CLI версии 2.0 или более поздней. Если вы используете Azure Cloud Shell, последняя версия уже установлена.

Настройка конфигурации резервного копирования

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

Примечание.

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

При создании сервера с помощью команды az mysql server create параметр --geo-redundant-backup определяет тип избыточности для резервного копирования. Если установлено значение Enabled, выполняется геоизбыточное резервное копирование. Если установлено значение Disabled, выполняется локальное избыточное резервное копирование.

Период хранения резервных копий устанавливается с помощью параметра --backup-retention.

Дополнительные сведения о настройке этих значений при создании см. в кратком руководстве Создание сервера базы данных Azure для MySQL с помощью Azure CLI.

Вот как можно изменить срок хранения резервной копии сервера.

az mysql server update --name mydemoserver --resource-group myresourcegroup --backup-retention 10

В указанном выше примере период хранения резервных копий mydemoserver изменен на 10 дней.

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

Восстановление сервера до точки во времени

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

Чтобы восстановить сервер, используйте команду Azure CLI az mysql server restore.

Выполнение команды restore

Для восстановления сервера в командной строке Azure CLI введите следующую команду:

az mysql server restore --resource-group myresourcegroup --name mydemoserver-restored --restore-point-in-time 2018-03-13T13:59:00Z --source-server mydemoserver

Для команды az mysql server restore обязательны указанные ниже параметры.

Параметр Предлагаемое значение Описание
resource-group  myresourcegroup  Группа ресурсов, в которой находится исходный сервер. 
name mydemoserver-restored Имя нового сервера, созданного командой restore.
restore-point-in-time 2018-03-13T13:59:00Z Выберите точку во времени, до которой необходимо выполнить восстановление. Значения даты и времени должны находиться в пределах срока хранения резервной копии исходного сервера. Используйте формат даты и времени ISO8601. Можно использовать местный часовой пояс, например 2018-03-13T05:59:00-08:00. Также можно использовать формат UTC Zulu, например 2018-03-13T13:59:00Z.
source-server mydemoserver Имя или идентификатор исходного сервера, с которого необходимо выполнить восстановление.

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

Значения расположения и ценовой категории для восстановленного сервера совпадают со значениями исходного сервера.

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

Кроме того, после завершения операции восстановления два параметра сервера сбрасываются на значения по умолчанию (а не копируются с сервера-источника):

  • time_zone — это значение, которое будет иметь значение SYSTEM, установленное по умолчанию;
  • event_scheduler — на восстановленном сервере имеет значение OFF.

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

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

Геовосстановление

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

Чтобы создать сервер с помощью геоизбыточного резервного копирования, выполните команду Azure CLI az mysql server georestore.

Примечание.

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

Для геовосстановления сервера в командной строке Azure CLI введите следующую команду.

az mysql server georestore --resource-group myresourcegroup --name mydemoserver-georestored --source-server mydemoserver --location eastus --sku-name GP_Gen5_8 

С помощью этой команды можно создать сервер mydemoserver-georestored в восточной части США, который будет принадлежать группе ресурсов myresourcegroup. Это сервер общего назначения 5-го поколения с 8 виртуальными ядрами. Он создан на основе геоизбыточных резервных копий mydemoserver, которые также расположены в группе ресурсов myresourcegroup.

Если необходимо создать сервер в другой группе ресурсов с имеющегося сервера, в параметре --source-server необходимо определить имя сервера следующим образом.

az mysql server georestore --resource-group newresourcegroup --name mydemoserver-georestored --source-server "/subscriptions/$<subscription ID>/resourceGroups/$<resource group ID>/providers/Microsoft.DBforMySQL/servers/mydemoserver" --location eastus --sku-name GP_Gen5_8

Для команды az mysql server georestore обязательны указанные ниже параметры.

Параметр Предлагаемое значение Описание
resource-group myresourcegroup Имя группы ресурсов, к которой будет принадлежать новый сервер.
name mydemoserver-georestored Имя нового сервера.
source-server mydemoserver Имя имеющегося сервера, геоизбыточные резервные копии которого используются.
Расположение eastus Расположение нового сервера.
sku-name GP_Gen5_8 Этот параметр определяет ценовую категорию, поколение вычислительных ресурсов и количество виртуальных ядер нового сервера. GP_Gen5_8 сопоставляется с сервером общего назначения 5-го поколения с 8 виртуальными ядрами.

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

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

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

Следующие шаги