Краткое руководство. Создание сервера базы данных Azure для MySQL с помощью Azure CLIQuickstart: Create an Azure Database for MySQL server using Azure CLI

Совет

Рассмотрите возможность использования более простой команды Azure CLI az postgres up (сейчас в предварительной версии).Consider using the simpler az mysql up Azure CLI command (currently in preview). Ознакомьтесь с кратким руководством.Try out the quickstart.

В этом кратком руководстве описывается создание сервера базы данных Azure для MySQL в группе ресурсов Azure с помощью Azure CLI за 5 минут.This quickstart describes how to use the Azure CLI to create an Azure Database for MySQL server in an Azure resource group in about five minutes. Azure CLI используется для создания ресурсов Azure и управления ими из командной строки или с помощью скриптов.The Azure CLI is used to create and manage Azure resources from the command line or in scripts.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.If you don't have an Azure subscription, create a free account before you begin.

Использование Azure Cloud ShellUse Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell.You can use either bash or PowerShell with Cloud Shell to work with Azure services. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

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

ПараметрOption Пример и ссылкаExample/Link
Нажмите кнопку Попробовать в правом верхнем углу блока с кодом.Select Try It in the upper-right corner of a code block. При нажатии кнопки Попробовать код не копируется в Cloud Shell автоматически.Selecting Try It doesn't automatically copy the code to Cloud Shell. Открытие Azure Cloud Shell с помощью кнопки "Попробовать"
Перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell, чтобы открыть Cloud Shell в браузере.Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. Запуск Cloud Shell в новом окнеLaunch Cloud Shell in a new window
На портале Azure в правом верхнем углу в строке меню нажмите кнопку Cloud Shell.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Кнопка "Cloud Shell" на портале Azure

Чтобы выполнить код из этой статьи в Azure Cloud Shell, выполните следующие действия:To run the code in this article in Azure Cloud Shell:

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

  2. В блоке кода нажмите кнопку Копировать, чтобы скопировать код.Select the Copy button on a code block to copy the code.

  3. Вставьте код в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Нажмите клавишу ВВОД, чтобы выполнить код.Select Enter to run the code.

Если вы решили установить и использовать интерфейс командной строки локально, для работы с этой статьей вам понадобится Azure CLI 2.0 или более поздней версии.If you choose to install and use the CLI locally, this article requires that you are running the Azure CLI version 2.0 or later. Чтобы узнать версию, выполните команду az --version.Run az --version to find the version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.If you need to install or upgrade, see Install Azure CLI.

Если вы используете несколько подписок, выберите соответствующую подписку, в которой находится ресурс либо в которой за него взимается плата.If you have multiple subscriptions, choose the appropriate subscription in which the resource exists or is billed for. Выберите конкретный идентификатор подписки вашей учетной записи, выполнив команду az account set.Select a specific subscription ID under your account using az account set command.

az account set --subscription 00000000-0000-0000-0000-000000000000

Создание группы ресурсовCreate a resource group

Создайте группу ресурсов Azure с помощью команды az group create.Create an Azure resource group using the az group create command. Группа ресурсов — это логический контейнер, в котором ресурсы Azure развертываются и администрируются как группа.A resource group is a logical container into which Azure resources are deployed and managed as a group.

В следующем примере создается группа ресурсов с именем myresourcegroup в расположении westus.The following example creates a resource group named myresourcegroup in the westus location.

az group create --name myresourcegroup --location westus

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

Создайте сервер базы данных Azure для MySQL, выполнив команду az mysql server create .Create an Azure Database for MySQL server with the az mysql server create command. Сервер может управлять несколькими базами данных.A server can manage multiple databases. Как правило, для каждого проекта и для каждого пользователя используется отдельная база данных.Typically, a separate database is used for each project or for each user.

ПараметрSetting Пример значенияSample value ОписаниеDescription
namename mydemoservermydemoserver Выберите уникальное имя, идентифицирующее базу данных Azure для сервера MySQL.Choose a unique name that identifies your Azure Database for MySQL server. Имя сервера может содержать только строчные буквы, цифры и знак дефиса (-).The server name can contain only lowercase letters, numbers, and the hyphen (-) character. Его длина должна составлять от 3 до 63 символов.It must contain from 3 to 63 characters.
resource-groupresource-group myresourcegroupmyresourcegroup Укажите имя группы ресурсов Azure.Provide the name of the Azure resource group.
sku-namesku-name GP_Gen5_2GP_Gen5_2 Имя номера SKU.The name of the sku. В сокращенной записи соответствует схеме {ценовая категория}_{поколение вычислительных ресурсов}_{число виртуальных ядер}.Follows the convention {pricing tier}_{compute generation}_{vCores} in shorthand. Под этой таблицей приведены дополнительные сведения о параметре sku-name.See below this table for more information about the sku-name parameter.
backup-retentionbackup-retention 77 Срок хранения резервной копии.How long a backup should be retained. Указывается в днях.Unit is days. Можно указать от 7 до 35 дней.Range is 7-35.
geo-redundant-backupgeo-redundant-backup ОтключеноDisabled Позволяет включить или отключить создание геоизбыточных резервных копий для этого сервера.Whether geo-redundant backups should be enabled for this server or not. Допустимые значения: Enabled, Disabled.Allowed values: Enabled, Disabled.
locationlocation westuswestus Расположение сервера в Azure.The Azure location for the server.
ssl-enforcementssl-enforcement ВключеноEnabled Позволяет включить или отключить SSL для этого сервера.Whether ssl should be enabled or not for this server. Допустимые значения: Enabled, Disabled.Allowed values: Enabled, Disabled.
storage-sizestorage-size 51 20051200 Объем хранилища сервера (в мегабайтах).The storage capacity of the server (unit is megabytes). Допустимое минимальное значение storage-size составляет 5120 МБ и может быть увеличено с шагом в 1024 МБ.Valid storage-size is minimum 5120MB and increases in 1024MB increments. Ознакомьтесь с документом о ценовых категориях, чтобы узнать больше об ограничениях размера хранилища.See the pricing tiers document for more information about storage size limits.
версияversion 5.75.7 Основной номер версии MySQL.The MySQL major version.
admin-useradmin-user myadminmyadmin Имя для входа администратора.The username for the administrator login. Не может иметь значение azure_superuser, admin, administrator, root, guest или public.It cannot be azure_superuser, admin, administrator, root, guest, or public.
admin-passwordadmin-password Надежный парольsecure password Пароль администратора.The password of the administrator user. Пароль должен содержать от 8 до 128 символов.It must contain between 8 and 128 characters. Пароль должен содержать символы из таких трех категорий: прописные латинские буквы, строчные латинские буквы, цифры и небуквенно-цифровые знаки.Your password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters.

Значение параметра sku-name соответствует соглашению {ценовая категория}_{поколение вычислительных ресурсов}_{количество виртуальных ядер}, как показано в примерах ниже:The sku-name parameter value follows the convention {pricing tier}_{compute generation}_{vCores} as in the examples below:

  • --sku-name B_Gen5_1 — "Базовый", поколение 5, 1 виртуальное ядро;--sku-name B_Gen5_1 maps to Basic, Gen 5, and 1 vCore. Это номер SKU наименьший по размеру из доступных.This option is the smallest SKU available.
  • --sku-name GP_Gen5_32 — "Общего назначения", поколение 5, 32 виртуальных ядра;--sku-name GP_Gen5_32 maps to General Purpose, Gen 5, and 32 vCores.
  • --sku-name MO_Gen5_2 — "Оптимизированная для операций в памяти", поколение 5, 2 виртуальных ядра.--sku-name MO_Gen5_2 maps to Memory Optimized, Gen 5, and 2 vCores.

Допустимые значения для каждого региона и каждого уровня указаны в документации по ценовым категориям.Please see the pricing tiers documentation to understand the valid values per region and per tier.

В примере ниже показано создание сервера MySQL 5.7 с именем mydemoserver в группе ресурсов myresourcegroup с именем пользователя администратора сервера myadmin.The following example creates a MySQL 5.7 server in West US named mydemoserver in your resource group myresourcegroup with server admin login myadmin. Это сервер 4-го поколения общего назначения с 2 виртуальными ядрами.This is a Gen 4 General Purpose server with 2 vCores. Замените <server_admin_password> собственным значением.Substitute the <server_admin_password> with your own value.

az mysql server create --resource-group myresourcegroup --name mydemoserver  --location westus --admin-user myadmin --admin-password <server_admin_password> --sku-name GP_Gen5_2 --version 5.7

Примечание

Используйте ценовую категорию "Базовый", если для вашей рабочей нагрузки не требуется большое количество вычислительных ресурсов и операций ввода-вывода.Consider using the Basic pricing tier if light compute and I/O are adequate for your workload. Обратите внимание, что серверы, созданные в ценовой категории "Базовый", нельзя масштабировать до ценовых категорий "Общего назначения" или "Оптимизировано для памяти".Note that servers created in the Basic pricing tier cannot later be scaled to General Purpose or Memory Optimized. Дополнительные сведения см. на странице с ценами.See the pricing page for more information.

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

Создайте правило брандмауэра на уровне сервера базы данных Azure для MySQL, выполнив команду az mysql server firewall-rule create .Create an Azure Database for MySQL server-level firewall rule using the az mysql server firewall-rule create command. Правило брандмауэра на уровне сервера позволяет внешним приложениям, таким как программа командной строки mysql.exe или MySQL Workbench, подключаться к серверу через брандмауэр службы Azure MySQL.A server-level firewall rule allows an external application, such as the mysql.exe command-line tool or MySQL Workbench to connect to your server through the Azure MySQL service firewall.

В приведенном ниже примере создается правило брандмауэра с именем AllowMyIP, которое разрешает подключения с определенного IP-адреса — 192.168.0.1.The following example creates a firewall rule called AllowMyIP that allows connections from a specific IP address, 192.168.0.1. Подставьте IP-адрес или диапазон IP-адресов, которые соответствуют расположению, из которого будет устанавливаться подключение.Substitute in the IP address or range of IP addresses that correspond to where you'll be connecting from.

az mysql server firewall-rule create --resource-group myresourcegroup --server mydemoserver --name AllowMyIP --start-ip-address 192.168.0.1 --end-ip-address 192.168.0.1

Примечание

Подключитесь к базе данных Azure для MySQL через порт 3306.Connections to Azure Database for MySQL communicate over port 3306. Если вы пытаетесь подключиться из корпоративной сети, исходящий трафик через порт 3306 может быть запрещен.If you try to connect from within a corporate network, outbound traffic over port 3306 might not be allowed. В таком случае вы не сможете подключиться к серверу. Для этого ваш ИТ-отдел должен открыть порт 3306.If this is the case, you can't connect to your server unless your IT department opens port 3306.

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

По умолчанию между сервером и клиентскими приложениями применяется SSL-соединение.By default, SSL connections between your server and client applications are enforced. Эта настройка по умолчанию гарантирует безопасное перемещение данных за счет шифрования потока данных через Интернет.This default ensures security of "in-motion" data by encrypting the data stream over the internet. Чтобы упростить работу с этим руководством, отключите SSL-соединения для вашего сервера.To make this quick start easier, disable SSL connections for your server. Мы не рекомендуем так делать для рабочих серверов.Disabling SSL is not recommended for production servers. Дополнительные сведения см. в статье Настройка SSL-подключений в приложении для безопасного подключения к базе данных Azure для MySQL.For more information, see Configure SSL connectivity in your application to securely connect to Azure Database for MySQL.

В следующем примере показано, как отключить SSL-соединение на сервере MySQL.The following example disables enforcing SSL on your MySQL server.

az mysql server update --resource-group myresourcegroup --name mydemoserver --ssl-enforcement Disabled

Получение сведений о подключенииGet the connection information

Чтобы подключиться к серверу, необходимо указать сведения об узле и учетные данные для доступа.To connect to your server, you need to provide host information and access credentials.

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

Результаты выводятся в формате JSON.The result is in JSON format. Запишите значения fullyQualifiedDomainName и administratorLogin.Make a note of the fullyQualifiedDomainName and administratorLogin.

{
  "administratorLogin": "myadmin",
  "earliestRestoreDate": null,
  "fullyQualifiedDomainName": "mydemoserver.mysql.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforMySQL/servers/mydemoserver",
  "location": "westus",
  "name": "mydemoserver",
  "resourceGroup": "myresourcegroup",
  "sku": {
    "capacity": 2,
    "family": "Gen5",
    "name": "GP_Gen5_2",
    "size": null,
    "tier": "GeneralPurpose"
  },
  "sslEnforcement": "Enabled",
  "storageProfile": {
    "backupRetentionDays": 7,
    "geoRedundantBackup": "Disabled",
    "storageMb": 5120
  },
  "tags": null,
  "type": "Microsoft.DBforMySQL/servers",
  "userVisibleState": "Ready",
  "version": "5.7"
}

Подключение к серверу с помощью программы командной строки mysql.exeConnect to the server using the mysql.exe command-line tool

Подключитесь к серверу с помощью программы командной строки mysql.exe.Connect to your server using the mysql.exe command-line tool. MySQL можно скачать здесь и установить на компьютер.You can download MySQL from here and install it on your computer.

Введите следующие команды.Type the next commands:

  1. Подключитесь к серверу с помощью программы командной строки mysql:Connect to the server using mysql command-line tool:

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

    mysql> status
    

    Если все работает правильно, в программе командной строки должен отобразиться следующий текст:If everything goes well, the command-line tool should output the following text:

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.26.0 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, 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.6.35, for Win64 (x86_64)

Connection id:          65512
Current database:
Current user:           myadmin@116.230.243.143
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.6.26.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:    gbk
Conn.  characterset:    gbk
TCP port:               3306
Uptime:                 2 days 9 hours 47 min 20 sec

Threads: 4  Questions: 34833  Slow queries: 2  Opens: 84  Flush tables: 4  Open tables: 1  Queries per second avg: 0.167
--------------

mysql>

Совет

Дополнительные команды см. в разделе 4.5.1 справочного руководства по MySQL 5.7.For additional commands, see MySQL 5.7 Reference Manual - Chapter 4.5.1.

Подключение к серверу с помощью инструмента графического пользовательского интерфейса MySQL WorkbenchConnect to the server using the MySQL Workbench GUI tool

  1. Запустите приложение MySQL Workbench на клиентском компьютере.Launch the MySQL Workbench application on your client computer. Скачать и установить MySQL Workbench вы можете здесь.You can download and install MySQL Workbench from here.

  2. В диалоговом окне настройки нового подключения на вкладке Параметры введите следующие сведения:In the Setup New Connection dialog box, enter the following information on Parameters tab:

    Настройка нового подключения

ПараметрSetting Рекомендуемое значениеSuggested Value ОписаниеDescription
Имя подключенияConnection Name Мое подключениеMy Connection Укажите любую метку для этого подключения.Specify a label for this connection (this can be anything)
Способ подключенияConnection Method Выберите стандартный способ (по протоколу TCP/IP).choose Standard (TCP/IP) Используйте протокол TCP/IP для подключения к базе данных Azure для MySQL.Use TCP/IP protocol to connect to Azure Database for MySQL>
имя узла;Hostname mydemoserver.mysql.database.azure.commydemoserver.mysql.database.azure.com Имя сервера, которое вы записали ранее.Server name you previously noted.
ПортPort 33063306 Для MySQL используется порт по умолчанию.The default port for MySQL is used.
Имя пользователяUsername myadmin@mydemoserver Имя для входа администратора сервера, которое вы записали ранее.The server admin login you previously noted.
ПарольPassword **** Используйте пароль учетной записи администратора, настроенный ранее.Use the admin account password you configured earlier.

Щелкните Проверить подключение, чтобы проверить, все ли параметры верно настроены.Click Test Connection to test if all parameters are correctly configured. Теперь можно щелкнуть только что созданное подключение, чтобы успешно подключиться к серверу.Now, you can click the connection to successfully connect to the server.

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

Если эти ресурсы не требуются для изучения другого руководства, вы можете их удалить. Для этого выполните следующую команду:If you don't need these resources for another quickstart/tutorial, you can delete them by doing the following command:

az group delete --name myresourcegroup

Если вы хотите удалить созданный сервер, выполните команду az mysql server delete .If you would just like to delete the one newly created server, you can run az mysql server delete command.

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

Дополнительная информацияNext steps