البرنامج التعليمي: تصميم Azure Database for MariaDB باستخدام Azure CLI

هام

قاعدة بيانات Azure ل MariaDB على مسار التقاعد. نوصي بشدة بالترحيل إلى قاعدة بيانات Azure ل MySQL. لمزيد من المعلومات حول الترحيل إلى قاعدة بيانات Azure ل MySQL، راجع ما يحدث لقاعدة بيانات Azure ل MariaDB؟.

قاعدة بيانات Azure لـ MariaDB هي خدمة قاعدة بيانات ارتباطية في سحابة Microsoft تعتمد على محرك قاعدة البيانات MariaDB مفتوحة المصدر. في هذا البرنامج التعليمي، يمكنك استخدام Azure CLI (واجهة سطر الأوامر) وغيرها من الأدوات المساعدة لمعرفة كيفية:

  • إنشاء Azure Database for MariaDB
  • تكوين جدار حماية الخادم
  • استخدم أداة سطر أوامر mysql لإنشاء قاعدة بيانات
  • تحميل بيانات العينة
  • بيانات الاستعلام
  • تحديث البيانات
  • استعادة البيانات

إذا لم تكن مشتركًا في Azure، فيمكنك إنشاء حساب مجاني على Azure قبل البدء.

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

  • تتطلب هذه المقالة الإصدار 2.0 أو أحدث من Azure CLI. إذا كنت تستخدم Azure Cloud Shell، يتم تثبيت أحدث إصدار بالفعل.

إذا كانت لديك اشتراكات متعددة، فاختر الاشتراك المناسب الذي يوجد فيه المورد أو يتم إصدار فاتورة به. حدد معرف اشتراك محدداً ضمن حسابك باستخدام الأمر az account set.

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

إنشاء مجموعة موارد

قم بإنشاء مجموعة موارد Azure باستخدام الأمر az group create. مجموعة الموارد عبارة عن حاوية منطقية يتم فيها توزيع موارد Azure وإدارتها كمجموعة.

في المثال التالي سيتم إنشاء مجموعة موارد تسمى myresourcegroup في المنطقة westus.

az group create --name myresourcegroup --location westus

إنشاء قاعدة بيانات Azure لخادم MariaDB

قم بإنشاء خادم Azure Database for MariaDB باستخدام الأمر az mariadb server create. يمكن للخادم إدارة قواعد بيانات متعددة. عادة ما يتم استخدام قاعدة بيانات منفصلة لكل مشروع أو لكل مستخدم.

ينشئ المثال التالي خادم Azure Database for MariaDB الموجود في westus في مجموعة الموارد myresourcegroup بالاسم mydemoserver. الخادم لديه سجل دخول مسؤول باسم myadmin. إنه خادم للأغراض العامة، Gen 5 مع 2 vCores. استبدل <server_admin_password> بقيمتك الخاصة.

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

تتبع قيمة معلمة sku-name اصطلاح {مستوى التسعير} _ {جيل الحوسبة} _ {vCores} كما ذُكر في الأمثلة أدناه:

  • --sku-name B_Gen5_4 خرائط إلى أساسي، وجين 5، و4 vCores.
  • --sku-name GP_Gen5_32 خرائط للأغراض العامة، Gen 5، و32 vCores.
  • --sku-name MO_Gen5_2 الخرائط إلى Memory Optimized وGen 5 و2 vCores.

يرجى الاطلاع على وثائق مستويات التسعير لفهم القيم الصالحة لكل منطقة ومستوى.

هام

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

تكوين قاعدة جدار الحماية

قم بإنشاء قاعدة بيانات Azure لقاعدة جدار الحماية على مستوى الخادم MariaDB باستخدام الأمر az mariadb server firewall-rule create. تسمح قاعدة جدار الحماية على مستوى الخادم لتطبيق خارجي، مثل أداة سطر الأوامر mysql أو MySQL Workbench بالاتصال بخادمك من خلال جدار حماية خدمة Azure MariaDB.

في المثال التالي سيتم إنشاء قاعدة جدار حماية تسمى AllowMyIP تسمح باتصالات من عنوان IP محدد 192.168.0.1. استبدل عنوان IP أو مجموعة عناوين IP التي تتوافق مع المكان الذي ستتصل منه.

az mariadb 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

احصل على معلومات الاتصال

للاتصال بخادمك، تحتاج إلى توفير معلومات المضيف والوصول إلى بيانات الاعتماد.

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

كانت النتيجة بتنسيق JSON. دون ملاحظة بـاسم المجال المؤهل بالكامل ودخول المسؤول.

{
  "administratorLogin": "myadmin",
  "administratorLoginPassword": null,
  "fullyQualifiedDomainName": "mydemoserver.mariadb.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforMariaDB/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.DBforMariaDB/servers",
  "userVisibleState": "Ready",
  "version": "10.2"
}

اتصل بالخادم باستخدام mysql

استخدم أداة سطر أوامر mysql لإنشاء اتصال بخادم Azure Database for MariaDB. في هذا المثال، يكون الأمر:

mysql -h mydemoserver.database.windows.net -u myadmin@mydemoserver -p

إنشاء قاعدة بيانات فارغة

بمجرد اتصالك بالخادم، قم بإنشاء قاعدة بيانات فارغة.

mysql> CREATE DATABASE mysampledb;

عند المطالبة، قم بتشغيل الأمر التالي لتبديل الاتصال إلى قاعدة البيانات التي تم إنشاؤها حديثاً:

mysql> USE mysampledb;

إنشاء وتكوين جداول في قاعدة البيانات

الآن بعد أن عرفت كيفية الاتصال بقاعدة بيانات Azure لقاعدة بيانات MariaDB، أكمل بعض المهام الأساسية.

أولاً، قم بإنشاء جدول وقم بتحميله ببعض البيانات. دعنا ننشئ جدولاً يخزن معلومات المخزون.

CREATE TABLE inventory (
    id serial PRIMARY KEY, 
    name VARCHAR(50), 
    quantity INTEGER
);

تحميل البيانات في الجداول

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

INSERT INTO inventory (id, name, quantity) VALUES (1, 'banana', 150); 
INSERT INTO inventory (id, name, quantity) VALUES (2, 'orange', 154);

يتوفر لديك الآن صفان من بيانات العينة في الجدول الذي سبق لك إنشاؤه.

الاستعلام عن البيانات الموجودة في الجداول وتحديثها

قم بتنفيذ الاستعلام التالي لاسترداد المعلومات من جدول قاعدة البيانات.

SELECT * FROM inventory;

يمكنك أيضًا تحديث البيانات الموجودة في الجداول.

UPDATE inventory SET quantity = 200 WHERE name = 'banana';

يتم تحديث الصف وفقاً لذلك عند استرداد البيانات.

SELECT * FROM inventory;

استعادة قاعدة البيانات إلى نقطة سابقة في نفس الوقت

تخيل أنك حذفت هذا الجدول عن طريق الخطأ. هذا شيء لا يمكنك استرداده منه بسهولة. تسمح لك Azure Database for MariaDB بالعودة إلى أي نقطة زمنية في آخر 35 يوماً واستعادة هذه النقطة في نفس الوقت إلى خادم جديد. يمكنك استخدام هذا الخادم الجديد لاستعادة البيانات المحذوفة. الخطوات التالية استعادة نموذج الخادم إلى نقطة قبل إضافة الجدول.

للاستعادة، تحتاج إلى المعلومات التالية:

  • نقطة الاستعادة: حدد نقطة زمنية حدثت قبل تغيير الخادم. يجب أن تكون أكبر من أو تساوي قيمة أقدم نسخة احتياطية لقاعدة البيانات المصدر.
  • الخادم الهدف: أدخل اسم خادم جديداً تريد استعادته
  • خادم المصدر: أدخل اسم الخادم الذي تريد الاستعادة منه
  • الموقع: لا يمكنك تحديد المنطقة، فهي تشبه الخادم المصدر افتراضياً
az mariadb server restore --resource-group myresourcegroup --name mydemoserver-restored --restore-point-in-time "2017-05-4 03:10" --source-server-name mydemoserver

يحتاج الأمر az mariadb server restore إلى المعلمات التالية:

الإعدادات القيمة المقترحة الوصف
resource-group  myresourcegroup  مجموعة الموارد التي يوجد بها الخادم المصدر. 
الاسم استعادة mydemoserver اسم الخادم الجديد الذي تم إنشاؤه بواسطة أمر الاستعادة.
استعادة نقطة في نفس الوقت 2017-04-13 T13: 59: 00Z حدد نقطة زمنية للاستعادة إليها. يجب أن يكون هذا التاريخ والوقت ضمن فترة الاحتفاظ بالنسخة الاحتياطية للخادم المصدر. استخدم تنسيق التاريخ والوقت ISO8601. على سبيل المثال، يمكنك استخدام منطقتك الزمنية المحلية، مثل 2017-04-13T05:59:00-08:00، أو استخدام تنسيق UTC Zulu 2017-04-13T13:59:00Z.
المصدر الخادم mydemoserver اسم أو معرف الخادم المصدر المراد الاستعادة منه.

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

الأمر متزامن، وسيعود بعد استعادة الخادم. بمجرد انتهاء الاستعادة، حدد موقع الخادم الجديد الذي تم إنشاؤه. تحقق من استعادة البيانات كما هو متوقع.

الخطوات التالية

ستتعلم في هذا البرنامج التعليمي ما يلي:

  • إنشاء قاعدة بيانات Azure لخادم MariaDB
  • تكوين جدار حماية الخادم
  • استخدم أداة سطر أوامر mysql لإنشاء قاعدة بيانات
  • تحميل بيانات العينة
  • بيانات الاستعلام
  • تحديث البيانات
  • استعادة البيانات