Краткое руководство. Создание сервера База данных Azure для MySQL с помощью PowerShell

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

Внимание

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

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

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

Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Если вы решили использовать PowerShell локально, для работы с этой статьей установите модуль PowerShell Az и подключитесь к учетной записи Azure с помощью командлета Connect-AzAccount. См. сведения об установке модуля Azure PowerShell.

Внимание

Так как модуль PowerShell Az.MySql предоставляется в режиме предварительной версии, его нужно установить отдельно от модуля Az с помощью команды Install-Module -Name Az.MySql -AllowPrerelease. Как только модуль PowerShell Az.MySql станет общедоступным, он будет включен в один из будущих выпусков Az PowerShell и встроен в Azure Cloud Shell.

Если вы впервые используете Базу данных Azure для MySQL, зарегистрируйте поставщик ресурсов Microsoft.DBforMySQL.

Register-AzResourceProvider -ProviderNamespace Microsoft.DBforMySQL

Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Вариант Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. Screenshot that shows an example of Try It for Azure Cloud Shell.
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. Button to launch Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Чтобы использовать Azure Cloud Shell, выполните следующие действия:

  1. Запустите Cloud Shell.

  2. Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.

  3. Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.

  4. Нажмите клавишу ВВОД, чтобы запустить код или команду.

Если вы используете несколько подписок Azure, выберите ту, за ресурсы в которой будут выставляться счета. Выберите идентификатор требуемой подписки с помощью командлета Set-AzContext.

Set-AzContext -SubscriptionId 00000000-0000-0000-0000-000000000000

Создание или изменение группы ресурсов

Создайте группу ресурсов Azure с помощью командлета New-AzResourceGroup. Группа ресурсов — это логический контейнер, в котором ресурсы Azure развертываются и администрируются как группа.

В следующем примере создается группа ресурсов с именем myresourcegroup в регионе Западная часть США.

New-AzResourceGroup -Name myresourcegroup -Location westus

Создайте сервер базы данных Azure для MySQL.

Создайте сервер Базы данных Azure для MySQL с помощью командлета New-AzMySqlServer. Сервер может управлять несколькими базами данных. Как правило, для каждого проекта и для каждого пользователя используется отдельная база данных.

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

Параметр Пример значения Description
Имя. mydemoserver Выберите глобально уникальное имя для сервера Базы данных Azure для MySQL. Имя сервера может содержать только буквы, цифры и дефис (-). Все символы в верхнем регистре при создании будут автоматически преобразованы в нижний регистр. Его длина должна составлять от 3 до 63 символов.
ResourceGroupName myresourcegroup Укажите имя группы ресурсов Azure.
Sku GP_Gen5_2 Имя номера SKU. В сокращенной записи соответствует схеме ценовая-категория_поколение-вычислительных-ресурсов_число-виртуальных-ядер. Под этой таблицей приведены дополнительные сведения о параметре SKU.
BackupRetentionDay 7 Срок хранения резервной копии. Указывается в днях. Можно указать от 7 до 35 дней.
GeoRedundantBackup Включен Позволяет включить или отключить создание геоизбыточных резервных копий для этого сервера. Это значение нельзя использовать для серверов ценовой категории "Базовый", а также изменять после создания сервера. Допустимые значения: Enabled, Disabled.
Расположение westus Регион Azure для сервера.
SslEnforcement Включен Позволяет включить или отключить SSL для этого сервера. Допустимые значения: Enabled, Disabled.
StorageInMb 51200 Объем хранилища сервера (в мегабайтах). StorageInMb имеет минимальное значение 5120 МБ, которое увеличивается на 1024 МБ. См. сведения об ограничениях размера хранилища в описании ценовых категорий Базы данных Azure для MySQL.
Версия 5.7 Основной номер версии MySQL.
AdministratorUserName myadmin Имя для входа администратора. Не может иметь значение azure_superuser, admin, administrator, root, guest или public.
AdministratorLoginPassword <securestring> Пароль администратора в виде защищенной строки. Пароль должен содержать от 8 до 128 символов. Пароль должен содержать знаки трех из следующих категорий: прописные латинские буквы, строчные латинские буквы, цифры и другие знаки.

Значение параметра Sku соответствует формату ценовая-категория_поколение-вычислительных-ресурсов_количество-виртуальных-ядер, как показано в примерах ниже.

  • -Sku B_Gen5_1 — "Базовый", поколение 5, 1 виртуальное ядро; Это номер SKU наименьший по размеру из доступных.
  • -Sku GP_Gen5_32 — "Общего назначения", поколение 5, 32 виртуальных ядра;
  • -Sku MO_Gen5_2 — "оптимизированный для операций в памяти", поколение 5, 2 виртуальных ядра.

См. сведения о допустимых значениях SKU по регионам и ценовым категориям в описании ценовых категорий Базы данных Azure для MySQL.

В следующем примере в регионе Западная часть США создается сервер MySQL с именем mydemoserver в группе ресурсов myresourcegroup с администратором сервера с именем myadmin. Это сервер 5-го поколения ценовой категории "Общего назначения" с двумя виртуальными ядрами и геоизбыточным резервным копированием. Запишите пароль, указанный в первой строке примера, так как это пароль для учетной записи администратора сервера MySQL.

Совет

Имя сервера сопоставляется с DNS-именем и должно быть глобально уникальным в Azure.

$Password = Read-Host -Prompt 'Please enter your password' -AsSecureString
New-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup -Sku GP_Gen5_2 -GeoRedundantBackup Enabled -Location westus -AdministratorUsername myadmin -AdministratorLoginPassword $Password

Используйте ценовую категорию "Базовый", если для вашей рабочей нагрузки не требуется большое количество вычислительных ресурсов и операций ввода-вывода.

Внимание

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

Настройка правила брандмауэра

Создайте правило брандмауэра для сервера Базы данных Azure для MySQL, используя командлет New-AzMySqlFirewallRule. Правило брандмауэра на уровне сервера позволяет внешним приложениям, таким как средство командной строки mysql или MySQL Workbench, подключаться к серверу через брандмауэр Базы данных Azure для MySQL.

В приведенном ниже примере создается правило брандмауэра с именем AllowMyIP, которое разрешает подключения с определенного IP-адреса (192.168.0.1). Замените его IP-адресом или диапазоном IP-адресов, которые применяются для того расположения, из которого вы подключаетесь.

New-AzMySqlFirewallRule -Name AllowMyIP -ResourceGroupName myresourcegroup -ServerName mydemoserver -StartIPAddress 192.168.0.1 -EndIPAddress 192.168.0.1

Примечание.

Подключитесь к базе данных Azure для MySQL через порт 3306. Если вы пытаетесь подключиться из корпоративной сети, исходящий трафик через порт 3306 может быть запрещен. В этом сценарии вы сможете подключиться к серверу, только если ИТ-отдел откроет для вас порт 3306.

Настройка параметров SSL

По умолчанию между сервером и клиентскими приложениями применяется SSL-соединение. Это обеспечивает защиту данных при перемещении за счет шифрования потока данных через Интернет. В этом руководстве отключите SSL-соединения для вашего сервера. Дополнительные сведения см. в статье Настройка SSL-подключений в приложении для безопасного подключения к базе данных Azure для MySQL.

Предупреждение

Мы не рекомендуем так делать для рабочих серверов.

Следующий пример отключает SSL на сервере Базы данных Azure для MySQL.

Update-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup -SslEnforcement Disabled

Получение сведений о подключении

Чтобы подключиться к серверу, необходимо указать сведения об узле и учетные данные для доступа. Чтобы получить сведения о подключении, используйте следующий пример. Запишите значения FullyQualifiedDomainName и AdministratorLogin.

Get-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup |
  Select-Object -Property FullyQualifiedDomainName, AdministratorLogin
FullyQualifiedDomainName                    AdministratorLogin
------------------------                    ------------------
mydemoserver.mysql.database.azure.com       myadmin

Подключение к серверу с помощью средства командной строки mysql

Подключитесь к серверу с помощью средства командной строки mysql. Скачать его можно здесь. Вы можете также получить доступ к предустановленной версии средства командной строки mysql из Azure Cloud Shell, нажав кнопку Попробовать в примере кода в этой статье. Azure Cloud Shell также можно открыть, нажав кнопку >_ на панели инструментов вверху справа на портале Azure или перейдя по адресу shell.azure.com.

  1. Подключитесь к серверу с помощью средства командной строки mysql.

    mysql -h mydemoserver.mysql.database.azure.com -u myadmin@mydemoserver -p
    
  2. Просмотрите состояние сервера.

    mysql> status
    
    C:\Users\>mysql -h mydemoserver.mysql.database.azure.com -u myadmin@mydemoserver -p
    Enter password: *************
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 65512
    Server version: 5.6.42.0 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> status
    --------------
    mysql  Ver 14.14 Distrib 5.7.29, for Win64 (x86_64)
    
    Connection id:          65512
    Current database:
    Current user:           myadmin@myipaddress
    SSL:                    Not in use
    Using delimiter:        ;
    Server version:         5.6.42.0 MySQL Community Server (GPL)
    Protocol version:       10
    Connection:             mydemoserver.mysql.database.azure.com via TCP/IP
    Server characterset:    latin1
    Db     characterset:    latin1
    Client characterset:    utf8
    Conn.  characterset:    utf8
    TCP port:               3306
    Uptime:                 1 hour 2 min 12 sec
    
    Threads: 7  Questions: 952  Slow queries: 0  Opens: 66  Flush tables: 3  Open tables: 16  Queries per second avg: 0.255
    --------------
    
    mysql>
    

Дополнительные команды см. в разделе 4.5.1 справочного руководства по MySQL 5.7.

Подключение к серверу с помощью MySQL Workbench

  1. Запустите приложение MySQL Workbench на клиентском компьютере. Скачать MySQL Workbench для установки вы можете отсюда.

  2. В диалоговом окне Настройка нового подключения на вкладке Параметры введите следующие сведения:

    setup new connection

    Параметр Рекомендуемое значение Description
    Имя подключения Мое подключение Определение метки для этого подключения
    Способ подключения Стандартный способ (по протоколу TCP/IP) Применение протокола TCP/IP для подключения к Базе данных Azure для MySQL
    Hostname (Имя узла) mydemoserver.mysql.database.azure.com Имя сервера, которое вы записали ранее
    Порт 3306 Порт MySQL по умолчанию
    Username myadmin@mydemoserver Имя для входа администратора сервера, которое вы записали ранее
    Пароль ************* Используйте пароль учетной записи администратора, настроенный ранее
  3. Щелкните Проверить подключение, чтобы проверить, все ли параметры настроены правильно.

  4. Выберите подключение для соединения с сервером.

Очистка ресурсов

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

Внимание

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

Remove-AzResourceGroup -Name myresourcegroup

Чтобы удалить только тот сервер, который вы создали с помощью этого краткого руководства, но сохранить группу ресурсов, используйте командлет Remove-AzMySqlServer.

Remove-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup

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