إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينشئ نموذج البرنامج النصي Azure CLI هذا قاعدة بيانات Azure لـ MySQL - Flexible Server في شبكة ظاهرية (أسلوب الاتصال الوصول الخاص) ويتصل بالخادم من جهاز ظاهري داخل شبكة ظاهرية.
إشعار
لا يمكن تغيير طريقة الاتصال بعد إنشاء الخادم. على سبيل المثال، إذا أنشأت خادمًا باستخدام وصول خاص (تكامل شبكة ظاهرية)، فلن تتمكن من التغيير إلى الوصول العام (عناوين IP المسموح بها) بعد الإنشاء. لمعرفة المزيد حول أساليب الاتصال، راجع مفاهيم الاتصال والشبكات لقاعدة بيانات Azure ل MySQL - الخادم المرن.
إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ. حاليا، باستخدام حساب Azure المجاني، يمكنك تجربة قاعدة بيانات Azure لـ MySQL - Flexible Server مجانا لمدة 12 شهرا. لمزيد من المعلومات، راجع استخدام حساب Azure المجاني لتجربة قاعدة بيانات Azure لـ MySQL - Flexible Server مجانا.
المتطلبات الأساسية
استخدم بيئة Bash في Azure Cloud Shell. لمزيد من المعلومات، راجع بدء استخدام Azure Cloud Shell.
إذا كنت تفضل تشغيل أوامر مرجع CLI محلياً قم بتثبيت CLI Azure. إذا كنت تعمل على نظام تشغيل Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.
إذا كنت تستخدم تثبيت محلي، يُرجى تسجيل الدخول إلى Azure CLI مستخدمًا أمر az login. لإنهاء عملية المصادقة، اتبع الخطوات المعروضة في جهازك. للحصول على خيارات تسجيل الدخول الأخرى، راجع المصادقة على Azure باستخدام Azure CLI.
عندما يُطلب منك، قم بتثبيت ملحق Azure CLI عند الاستخدام لأول مرة. لمزيد من المعلومات حول الملحقات، راجع استخدام الملحقات وإدارتها باستخدام Azure CLI.
يُرجى تشغيل إصدار az للوصول إلى الإصدار والمكتبات التابعة التي تم تثبيتها. للتحديث لآخر إصدار، يُرجى تشغيل تحديث az.
نموذج البرنامج النصي
إطلاق Azure Cloud Shell
Azure Cloud Shell هو shell تفاعلية مجانية التي يمكنك استخدامها لتشغيل الخطوات في هذه المقالة. يحتوي على أدوات Azure الشائعة المثبتة مسبقًا والمهيئة للاستخدام مع حسابك.
لفتح Cloud Shell، ما عليك سوى تحديد جربه من الزاوية اليمنى العليا من مجموعة التعليمات البرمجية. يمكنك أيضًا تشغيل Cloud Shell في علامة تبويب مستعرض منفصلة بالانتقال إلى https://shell.azure.com.
عند فتح Cloud Shell، تحقق من تحديد Bash لبيئتك. ستستخدم الجلسات اللاحقة Azure CLI في بيئة Bash، حدد نسخ لنسخ كتل التعليمات البرمجية، وألصقها في Cloud Shell، واضغط على Enter لتشغيلها.
تسجيل الدخول إلى Azure
يُصادق Cloud Shell تلقائياً بموجب الحساب الأولي الذي سُجل الدخول به. استخدم البرنامج النصي التالي لتسجيل الدخول باستخدام اشتراك مختلف، واستبدال subscriptionId بمعرف اشتراك Azure الخاص بك.
إذا لم يكن لديك حساب Azure، فأنشئ حساباً مجانياً قبل أن تبدأ.
subscription="subscriptionId" # Set Azure subscription ID here
az account set -s $subscription # ...or use 'az login'
لمزيد من المعلومات، راجع تعيين الاشتراك النشط أو تسجيل الدخول بشكل تفاعلي.
تشغيل البرنامج النصي
# Create an Azure Database for MySQL - Flexible Server in a VNet
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-mysql-rg-$randomIdentifier"
tag="create-connect-server-in-vnet-mysql"
server="msdocs-mysql-server-$randomIdentifier"
sku="Standard_D2ds_v4"
tier="GeneralPurpose"
storageSize="64"
storageAutoGrow="Enabled"
vNet="vNet-$randomIdentifier"
vNetAddressPrefix="155.5.0.0/24"
mySqlSubnet="msdocs-subnet-mysql-$randomIdentifier"
mySqlSubnetAddressPrefix="155.5.0.0/28"
rule="msdocs-rule-$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
image="Ubuntu2204"
vm="msdocs-vm-$randomIdentifier"
vmSubnet="msdocs-subnet-vm-$randomIdentifier"
vmSubnetAddressPrefix="155.5.0.48/28"
dns="msdocsDNS.private.mysql.database.azure.com"
ipSku="basic"
echo "Using resource group $resourceGroup with login: $login, password: $password..."
# Create MySQL server in a VNET
# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag
# Get available service endpoints for Azure region output in JSON
echo "List of available service endpoints for $location"
az network vnet list-endpoint-services --location "$location"
# Create the virtual network
echo "Creating $vNet"
az network vnet create --resource-group $resourceGroup --name $vNet --address-prefixes $vNetAddressPrefix --location "$location"
# Creates the mySqlSubnet
echo "Creating $mySqlSubnet in $vNet"
az network vnet subnet create --resource-group $resourceGroup --name $mySqlSubnet --vnet-name $vNet --address-prefix $mySqlSubnetAddressPrefix --service-endpoints Microsoft.SQL
# View service endpoints configured on a subnet
echo "Viewing the service endpoint to $mySqlSubnet in $vNet"
az network vnet subnet show --resource-group $resourceGroup --name $mySqlSubnet --vnet-name $vNet
# Create private DNS zone
echo "Creating $dns"
az network private-dns zone create -g $resourceGroup -n $dns
# OPTIONAL : View all SKUs for Flexible Server
# az mysql flexible-server list-skus --location "$location"
# Name of a server maps to DNS name and is thus required to be globally unique in Azure.
# Create a MySQL Flexible server in the resource group
echo "Creating $server within $mySqlSubnet"
az mysql flexible-server create --name $server --resource-group $resourceGroup --location "$location" --sku-name $sku --tier $tier --storage-size $storageSize --storage-auto-grow $storageAutoGrow --admin-user $login --admin-password $password --vnet $vNet --subnet $mySqlSubnet --private-dns-zone $dns
# Connect to the MySQL server from a VM in the same VNET
# Create a subnet for the virtual machine within the virtual network
echo "Creating $vmSubnet within $vNet"
az network vnet subnet create --resource-group $resourceGroup --vnet-name $vNet --name $vmSubnet --address-prefixes $vmSubnetAddressPrefix
# Create a VM within the VNET to connect to MySQL Flex Server
echo "Creating $vm within $vmSubnet"
az vm create --resource-group $resourceGroup --name $vm --location "$location" --image $image --admin-username $login --generate-ssh-keys --vnet-name $vNet --subnet $vmSubnet --public-ip-sku $ipSku
# Open port 80 for web traffic
echo "Opening port 80 for web traffic"
az vm open-port --port 80 --resource-group $resourceGroup --name $vm
# Follow steps in the parent article to test connectivity to the MySQL server from the VM
اختبار الاتصال بخادم MySQL من الجهاز الظاهري
استخدم الخطوات التالية لاختبار الاتصال بخادم MySQL من الجهاز الظاهري عن طريق الاتصال باستخدام SSH وتنزيل أدوات MySQL ثم استخدامها للاتصال بخادم MySQL.
لإدخال SSH إلى الجهاز الظاهري، ابدأ بالحصول على عنوان IP العام ثم استخدم أدوات MySQL للاتصال
PUBLIC_IP=$(az vm list-ip-addresses --resource-group $RESOURCE_GROUP --name $VM --query "[].virtualMachine.network.publicIpAddresses[0].ipAddress" --output tsv) ssh azureuser@$PUBLIC_IPقم بتنزيل أدوات MySQL والاتصال بالخادم. استبدل <server_name> و<admin_user> بالقيم الخاصة بك.
sudo apt-get update sudo apt-get install mysql-client wget --no-check-certificate https://dl.cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem mysql -h <replace_with_server_name>.mysql.database.azure.com -u mysqladmin -p --ssl-mode=REQUIRED --ssl-ca=DigiCertGlobalRootCA.crt.pem
تنظيف الموارد
استخدم الأمر التالي لإزالة مجموعة الموارد وجميع الموارد المقترنة بها باستخدام الأمر az group delete - إلا إذا وُجدت حاجة مستمرة لهذه الموارد. قد يستغرق إنشاء بعض هذه الموارد بعض الوقت، وكذلك حذفها.
az group delete --name $RESOURCE_GROUP
نموذج مرجع
يستخدم هذا البرنامج النصي الأوامر التالية. يرتبط كل أمر في الجدول بأمر وثائق معينة.
| الأمر | ملاحظات |
|---|---|
| مجموعة az Create | إنشاء مجموعة موارد يتم تخزين جميع الموارد فيها |
| إنشاء الخادم المرن az mysql | إنشاء خادم مرن الذي يستضيف قواعد البيانات. |
| إعداد شبكة az network vnet | إنشاء شبكة فرعية داخل شبكة ظاهرية. |
| az VM Create | إنشاء Azure Virtual Machine. |
| az VM مفتوح المنفذ | فتح جهاز ظاهري لقصر نسبة استخدام الشبكة على منافذ محددة. |
| حذف مجموعة az | يحذف مجموعة الموارد بما في ذلك جميع الموارد المتداخلة. |