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

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

В этом кратком руководстве показано, как использовать команды Azure CLI в Azure Cloud Shell для создания экземпляра База данных Azure для MySQL — гибкий сервер в течение пяти минут.

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

Откройте Azure Cloud Shell

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

Чтобы открыть Cloud Shell, в правом верхнем углу примера кода нажмите кнопку "Попробовать".

Кроме того, Cloud Shell можно открыть в отдельной вкладке браузера. Для этого перейдите на страницу https://shell.azure.com/bash. Выберите "Копировать", чтобы скопировать содержимое блока кода. В Cloud Shell вставьте код и нажмите клавишу ВВОД , чтобы запустить его.

Если вы предпочитаете устанавливать и использовать Azure CLI, для этого краткого руководства требуется Azure CLI версии 2.0 или более поздней. Чтобы найти версию установки Azure CLI. , запуск az --version. Если вам необходимо выполнить установку или обновление, обратитесь к статье Установка Azure CLI.

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

Выполните вход в учетную запись с помощью команды az login. Обратите внимание на id свойство. Свойство id ссылается на идентификатор подписки учетной записи Azure.

az login

Выберите определенную подписку в учетной записи Azure с помощью команды az account set . Запишите id значение из az login выходных данных, которое будет использоваться в качестве значения аргумента subscription в команде.

Если у вас несколько подписок, выберите подписку, в которой требуется выставление счетов за ресурс. Чтобы получить список подписок, используйте az account list.

az account set --subscription <subscription ID>

Создание гибкого сервера Базы данных Azure для MySQL

Создайте группу ресурсов Azure с помощью az group create команды. Затем создайте гибкий сервер База данных Azure для MySQL внутри группы ресурсов. Обязательно укажите уникальное имя. В следующем примере создается группа ресурсов с именем myresourcegroup в расположении именем eastus2.

az group create --name myresourcegroup --location eastus2

Создайте гибкий сервер База данных Azure для MySQL с помощью az mysql flexible-server create команды. Сервер может управлять несколькими базами данных. Следующая команда создает сервер с помощью значений и значений службы из локального контекста Azure CLI:

az mysql flexible-server create

Созданный сервер имеет следующие атрибуты:

  • Имя сервера, имя администратора, пароль администратора и имя группы ресурсов (если оно еще не указано в локальном контексте), и оно находится в том же расположении, что и группа ресурсов.
  • По умолчанию службы для оставшихся конфигураций сервера: уровень вычислений (с возможностью ускорения), размер вычислительных ресурсов или номер SKU (B1MS), период хранения резервных копий (семь дней) и MySQL версии (5.7).
  • Метод подключения по умолчанию — частный доступ (интеграция с виртуальной сетью) с автоматически созданной виртуальной сетью и подсетью.

Примечание.

Метод подключения нельзя изменить после создания сервера. Например, если при создании сервера выбран закрытый доступ (интеграция с виртуальной сетью), вы не можете изменить параметр на общедоступный доступ (разрешенные IP-адреса) после развертывания. Настоятельно рекомендуется создать сервер с частным доступом для безопасного доступа к серверу с помощью интеграции виртуальной сети. Дополнительные сведения о частном доступе см. в статье о концепциях сети.

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

Ниже приведен пример выходных данных:

Creating Resource Group 'groupXXXXXXXXXX'...
Creating new vnet "serverXXXXXXXXXVNET" in resource group "groupXXXXXXXXXX"...
Creating new subnet "serverXXXXXXXXXSubnet" in resource group "groupXXXXXXXXXX" and delegating it to "Microsoft.DBforMySQL/flexibleServers"...
Creating MySQL Server 'serverXXXXXXXXX' in group 'groupXXXXXXXXXX'...
Your server 'serverXXXXXXXXX' is using SKU 'Standard_B1ms' (Paid Tier). For pricing details, see https://aka.ms/mysql-pricing.
Creating MySQL database 'flexibleserverdb'...
Make a note of your password. If you forget your password, reset the password by running 'az mysql flexible-server update -n serverXXXXXXXXX -g groupXXXXXXXXXX -p <new-password>'.
{
  "connectionString": "server=serverXXXXXXXXX.mysql.database.azure.com;database=flexibleserverdb;uid=secureusername;pwd=securepasswordstring",
  "databaseName": "flexibleserverdb",
  "host": "serverXXXXXXXXX.mysql.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/groupXXXXXXXXXX/providers/Microsoft.DBforMySQL/flexibleServers/serverXXXXXXXXX",
  "location": "East US 2",
  "password": "securepasswordstring",
  "resourceGroup": "groupXXXXXXXXXX",
  "skuname": "Standard_B1ms",
  "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/groupXXXXXXXXXX/providers/Microsoft.Network/virtualNetworks/serverXXXXXXXXXVNET/subnets/serverXXXXXXXXXSubnet",
  "username": "secureusername",
  "version": "5.7"
}

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

Создание базы данных

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

az mysql flexible-server db create -d newdatabase

Примечание.

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

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

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

az mysql flexible-server show --resource-group myresourcegroup --name mydemoserver

Результаты выводятся в формате JSON. Запишите значения для fullyQualifiedDomainName и administratorLogin. Ниже приведен пример выходных данных JSON:

{
  "administratorLogin": "myadminusername",
  "administratorLoginPassword": null,
  "delegatedSubnetArguments": {
    "subnetArmResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/mydemoserverVNET/subnets/mydemoserverSubnet"
  },
  "fullyQualifiedDomainName": "mydemoserver.mysql.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforMySQL/flexibleServers/mydemoserver",
  "location": "East US 2",
  "name": "mydemoserver",
  "publicNetworkAccess": "Disabled",
  "resourceGroup": "myresourcegroup",
  "sku": {
    "capacity": 0,
    "name": "Standard_B1ms",
    "tier": "Burstable"
  },
  "storageProfile": {
    "backupRetentionDays": 7,
    "fileStorageSkuName": "Premium_LRS",
    "storageAutogrow": "Disabled",
    "storageIops": 0,
    "storageMb": 10240
  },
  "tags": null,
  "type": "Microsoft.DBforMySQL/flexibleServers",
  "version": "5.7"
}

Подключение и проверить подключение с помощью Azure CLI

Вы можете использовать База данных Azure для MySQL — гибкий сервер для подключения к гибкому серверу с помощью az mysql flexible-server connect команды в Azure CLI. Эту команду можно использовать для проверки подключения к серверу базы данных, создания быстрой базовой базы данных и выполнения запросов непосредственно на сервере без установки mysql.exe или MySQL Workbench. Вы также можете использовать команду в интерактивном режиме для одновременного выполнения нескольких запросов.

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

az mysql flexible-server connect -n <servername> -u <username> -p <password> -d <databasename>

Приведем пример:

az mysql flexible-server connect -n mysqldemoserver1 -u dbuser -p "dbpassword" -d newdatabase

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

Connecting to newdatabase database.
Successfully connected to mysqldemoserver1.

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

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

Чтобы выполнить один запрос, используйте--querytext аргумент (-q):

az mysql flexible-server connect -n <server-name> -u <username> -p "<password>" -d <database-name> --querytext "<query text>"

Приведем пример:

az mysql flexible-server connect -n mysqldemoserver1 -u dbuser -p "dbpassword" -d newdatabase -q "select * from table1;" --output table

Дополнительные сведения об использовании az mysql flexible-server connectсм. в статье Azure CLI connect and query.

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

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

Если вы создали свой База данных Azure для MySQL — гибкий экземпляр сервера с помощью общедоступного доступа (разрешенных IP-адресов), вы можете добавить локальный IP-адрес в список правил брандмауэра на сервере. Подробные инструкции см. в разделе "Создание или управление правилами брандмауэра".

Чтобы подключиться к серверу из локальной среды, можно использовать mysql.exe или MySQL Workbench. База данных Azure для MySQL . Гибкий сервер поддерживает подключение клиентских приложений к База данных Azure для MySQL — гибкой службе сервера с помощью протокола TLS, ранее известного как протокол SSL. TLS — это стандартный отраслевый протокол, обеспечивающий зашифрованные сетевые подключения между сервером базы данных и клиентскими приложениями, поэтому вы можете соответствовать требованиям соответствия требованиям. Чтобы подключиться с помощью гибкого сервера База данных Azure для MySQL, скачайте общедоступный SSL-сертификат для проверки центра сертификации. Дополнительные сведения о подключении с помощью зашифрованных подключений или отключении SSL см. в Подключение База данных Azure для MySQL — гибкий сервер с помощью зашифрованных подключений.

В следующем примере показано, как подключиться к База данных Azure для MySQL гибкому серверу с помощью клиентского средства командной строки MySQL. Вы можете установить средство, если оно еще не установлено. Скачайте сертификат DigiCertGlobalRootCA, необходимый для SSL-подключений. Для принудительной проверки сертификата TLS/SSL используйте параметр --ssl-mode=REQUIRED. Передайте путь к локальному файлу сертификата параметру --ssl-ca. Замените в ней предложенные значения реальными значениями имени сервера и пароля.

sudo apt-get install mysql-client
wget --no-check-certificate https://dl.cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
mysql -h mydemoserver.mysql.database.azure.com -u mydemouser -p --ssl-mode=REQUIRED --ssl-ca=DigiCertGlobalRootCA.crt.pem

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

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

Screenshot that shows how to grant Azure Cloud Shell access to an Azure Database for MySQL flexible server for public access network configuration.

Примечание.

Выберите "Разрешить общедоступный доступ" из любой службы Azure в Azure на этот сервер только для разработки или тестирования. Этот параметр настраивает брандмауэр, чтобы разрешить подключения из IP-адресов, выделенных любой службе Или ресурсу Azure, включая подключения из других подписок Azure.

Выберите Попробовать, чтобы открыть Azure Cloud Shell. В Cloud Shell используйте следующие команды для подключения к База данных Azure для MySQL гибкому серверу. Используйте имя сервера, имя пользователя и пароль в команде.

wget --no-check-certificate https://dl.cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
mysql -h mydemoserver.mysql.database.azure.com -u mydemouser -p --ssl=true --ssl-ca=DigiCertGlobalRootCA.crt.pem

Внимание

При подключении к База данных Azure для MySQL гибкому серверу с помощью Cloud Shell используйте --ssl=true этот параметр. Не используйте --ssl-mode=REQUIRED.

Основная причина, по которой это руководство важно, заключается в том, что Azure Cloud Shell предварительно установлен с клиентом mysql.exe из дистрибутива MariaDB. Для mysql.exe клиента требуется --ssl параметр. Для клиента MySQL из дистрибутива Oracle требуется --ssl-mode параметр.

Если при подключении к База данных Azure для MySQL гибкому серверу отображается следующее сообщение об ошибке, вы не выбрали параметр Allow public access from any Azure service in Azure to this server проверка box при настройке правил брандмауэра или не сохраняется. Задайте правила брандмауэра и повторите попытку.

ERROR 2002 (HY000): Can't connect to MySQL server on <servername> (115)

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

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

az group delete --name myresourcegroup

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

az mysql flexible-server delete --resource-group myresourcegroup --name mydemoserver