Краткое руководство. Создание экземпляра База данных 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=<server-name>.mysql.database.azure.com;database=flexibleserverdb;uid=secureusername;pwd=<password>",
"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": "<password>",
"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 на этот сервер , как показано на следующем снимке экрана. Затем нажмите кнопку "Сохранить ", чтобы сохранить этот параметр.
Примечание.
Выберите "Разрешить общедоступный доступ" из любой службы 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 отображается следующее сообщение об ошибке, вы не выбрали флажок "Разрешить общедоступный доступ" из любой службы Azure в Azure на этот сервер, если вы настроили правила брандмауэра, или параметр не сохраняется. Задайте правила брандмауэра и повторите попытку.
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