مشاركة عبر


إنشاء النسخ المتماثلة للقراءة وإدارتها في قاعدة بيانات Azure ل MySQL - خادم مرن باستخدام Azure CLI

ينشئ برنامج CLI النصي هذا ويدير قراءة النسخ المتماثلة في Azure Database for MySQL - Flexible Server.

هام

عندما تقوم بإنشاء نسخة متماثلة لمصدر لا يحتوي على نسخ متماثلة موجودة، فستتم إعادة تشغيل المصدر أولاً لتجهيز نفسه للنسخ المتماثل. ضع ذلك في الاعتبار وقم بإجراء هذه العمليات خلال فترة خارج الذروة.

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ. حاليا، باستخدام حساب Azure المجاني، يمكنك تجربة Azure Database for MySQL - Flexible Server مجانا لمدة 12 شهرا. لمزيد من المعلومات، راجع استخدام حساب Azure المجاني لتجربة Azure Database for MySQL - Flexible Server مجانا.

المتطلبات الأساسية

نموذج البرنامج النصي

إطلاق 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 and manage MySQL - Flexible Server read replicas

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
subscriptionId="$(az account show --query id -o tsv)"
location="East US"
resourceGroup="msdocs-mysql-rg-$randomIdentifier"
tag="monitor-and-scale-mysql"
server="msdocs-mysql-server-$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
ipAddress="None"
sku="Standard_D2ds_v4"
tier="GeneralPurpose"
storageSize="64"
replica="msdocs-replica-mysql-$randomIdentifier" # Substitute with preferred name for the replica server. 

# Specifying an IP address of 0.0.0.0 allows public access from any resources
# deployed within Azure to access your server. Setting it to "None" sets the server 
# in public access mode but does not create a firewall rule.
# For your public IP address, https://whatismyipaddress.com

echo "Using resource group $resourceGroup with login: $login, password: $password..."

# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag

# Create a MySQL Flexible server in the resource group
echo "Creating $server"
az mysql flexible-server create --name $server --resource-group $resourceGroup --location "$location" --sku-name $sku --tier $tier --storage-size $storageSize --admin-user $login --admin-password $password --public-access $ipAddress

# Optional: Add firewall rule to connect from all Azure services
# To limit to a specific IP address or address range, change start-ip-address and end-ip-address
echo "Adding firewall for IP address range"
az mysql flexible-server firewall-rule create --name $server --resource-group $resourceGroup --rule-name AllowAzureIPs --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0

# Create Replica Server
echo "Creating $replica"
az mysql flexible-server replica create --replica-name $replica --source-server $server --resource-group $resourceGroup

# List all read replicas for the source server
echo "List replicas on $server"
az mysql flexible-server replica list --source-server $server --resource-group $resourceGroup

# Stop replication to a read replica and make it a read/write server.
echo "Stop replication to $replica"
az mysql flexible-server replica stop-replication --resource-group $resourceGroup --name $replica --yes

تنظيف الموارد

استخدم الأمر التالي لإزالة مجموعة الموارد وجميع الموارد المقترنة بها باستخدام الأمر az group delete - إلا إذا وُجدت حاجة مستمرة لهذه الموارد. قد يستغرق إنشاء بعض هذه الموارد بعض الوقت، وكذلك حذفها.

az group delete --name $resourceGroup

نموذج مرجع

يستخدم هذا البرنامج النصي الأوامر التالية. يرتبط كل أمر في الجدول بأمر وثائق معينة.

الأمر ملاحظات
مجموعة az Create إنشاء مجموعة موارد يتم تخزين جميع الموارد فيها
إنشاء الخادم المرن az mysql إنشاء خادم مرن الذي يستضيف قواعد البيانات.
az MySQL Flexible-Server Replica Create ينشئ نسخة متماثلة للقراءة للخادم.
قائمة النسخ المتماثلة للخادم المرن من az MySQL يسرد جميع النسخ المتماثلة المقروءة لخادم معين.
az mysql مرن-خادم النسخ المتماثل إيقاف النسخ المتماثل يوقف النسخ المتماثل إلى نسخة متماثلة للقراءة واجعلها خادم قراءة/كتابة.
حذف الخادم المرن az mysql قم بحذف Flexible Server.
حذف مجموعة az يحذف مجموعة الموارد بما في ذلك جميع الموارد المتداخلة.