تمكين سجلات الاستعلام البطيئة للخادم وتنزيلها لقاعدة بيانات Azure لخادم MySQL باستخدام Azure CLI
[ينطبق على:
قاعدة بيانات Azure ل MySQL - خادم
واحد Azure Database for MySQL - خادم مرن
يُمكّن نموذج برنامج CLI النصي هذا سجلات الاستعلام البطيئة، وينزلها لقاعدة بيانات Azure لخادم MySQL.
إذا لم يكن لديك اشتراك Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.
المتطلبات الأساسية
استخدم بيئة Bash في Azure Cloud Shell. لمزيد من المعلومات، راجع تشغيل سريع لـ Azure Cloud Shell - Bash.
إذا كنت تفضل تشغيل أوامر مرجع CLI محلياً قم بتثبيت CLI Azure. إذا كنت تعمل على Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.
إذا كنت تستخدم تثبيت محلي، يُرجى تسجيل الدخول إلى Azure CLI مستخدمًا أمر az login. لإنهاء عملية المصادقة، التزم بالخطوات المعروضة في وحدتك الطرفية. للحصول على خيارات إضافية لتسجيل دخول، راجع تسجيل الدخول باستخدام Azure CLI.
عند مطالبتك، يوصى بتثبيت امتدادات Azure CLI عند الاستخدام الأول. لمزيد من المعلومات بشأن الامتدادات، راجع استخدام امتدادات مع Azure CLI.
يُرجى تشغيل إصدار az للوصول إلى الإصدار والمكتبات التابعة التي تم تثبيتها. للتحديث لآخر إصدار، يُرجى تشغيل تحديث az.
نموذج البرنامج النصي
تشغيل Azure Cloud Shell
إن Azure Cloud Shell هو واجهة تفاعلية Shell مجانية يُمكنك استخدامها لتنفيذ الخطوات الواردة في هذه المقالة. يحتوي على أدوات Azure الشائعة والمثبتة مسبقًا والتي تم تكوينها للاستخدام مع حسابك.
لفتح Cloud Shell، ما عليك سوى تحديد "Try it" من الزاوية العليا اليسرى لكتلة التعليمة البرمجية. يمكنك أيضاً تشغيل Cloud Shell في علامة تبويب مستعرض منفصلة بالانتقال إلى https://shell.azure.com.
عند فتح Cloud Shell، تحقق من تحديد Bash لبيئتك. ستستخدم الجلسات اللاحقة Azure CLI في بيئة Bash، حدد نسخ لنسخ كتل التعليمات البرمجية، وألصقها في Cloud Shell، واضغط على Enter لتشغيلها.
تسجيل الدخول إلى Azure
يُصادق Cloud Shell تلقائياً بموجب الحساب الأولي الذي سُجل الدخول به. استخدم البرنامج النصي التالي لتسجيل الدخول باستخدام اشتراك مختلف، واستبدل <Subscription ID> بمعرّف اشتراك Azure الخاص بك. إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
لمزيد من المعلومات، راجع تعيين اشتراك نشط أو تسجيل الدخول بشكل تفاعلي
تشغيل البرنامج النصي
# Enable and download server slow query logs of an Azure Database for MySQL server
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-mysql-rg-$randomIdentifier"
tag="server-logs-mysql"
server="msdocs-mysql-server-$randomIdentifier"
sku="GP_Gen5_2"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
configurationParameter="slow_query_log"
logValue="On"
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 server in the resource group
# Name of a server maps to DNS name and is thus required to be globally unique in Azure.
echo "Creating $server in $location..."
az mysql server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password --sku-name $sku
# List the configuration options for review
echo "Returning the configuration options on $server"
az mysql server configuration list --resource-group $resourceGroup --server $server
# Show the value of the slow_query_log server configuration parameter
echo "Returning the value of the slow_query_log server configuration parameter on $server"
az mysql server configuration show --name $configurationParameter --resource-group $resourceGroup --server $server
# Enable the slow_query_log
echo "Enabling the slow_query_log on $server"
az mysql server configuration set --name $configurationParameter --resource-group $resourceGroup --server $server --value $logValue
# List the available log files
echo "Returning the list of available log files on $server"
az mysql server-logs list --resource-group $resourceGroup --server $server
# To download log file from Azure, direct the output of the previous comment to a text file
# "> log_files_list.txt"
# Review the text file to find the server log file name for the desired timeframe
# Substitute the <log_file_name> in the script below with your server log file name
# Creates the log file in the current command line path
# az mysql server-logs download --name <log_file_name> $resourceGroup --server $server
تنظيف الموارد
استخدم الأمر التالي لإزالة مجموعة الموارد وجميع الموارد المقترنة بها باستخدام الأمر حذف مجموعة az - إلا إذا وُجدت حاجة مستمرة لهذه الموارد. قد يستغرق إنشاء بعض هذه الموارد بعض الوقت، وكذلك حذفها.
az group delete --name $resourceGroup
مرجع النموذج
يستخدم هذا البرنامج النصي الأوامر الموضحة في الجدول التالي:
| الأمر | ملاحظات |
|---|---|
| az group create | إنشاء مجموعة موارد يتم تخزين جميع الموارد فيها. |
| az mysql server create | إنشاء خادم MySQL الذي يستضيف قواعد البيانات. |
| az mysql server configuration list | سرد قيم التكوين لخادم. |
| az mysql server configuration set | تحديث تكوين الخادم. |
| az mysql server-logs list | سرد ملفات السجل لخادم. |
| az mysql server-logs download | تنزيل ملفات السجل. |
| حذف مجموعة az | حذف مجموعة موارد، بما في ذلك كافة الموارد المتداخلة. |
الخطوات التالية
- اطلع على المزيد من المعلومات حول Azure CLI: وثائق Azure CLI.
- جرب برامج نصية إضافية: نماذج من Azure CLI لقاعدة بيانات Azure لـ MySQL
