ترحيل خادم MySQL محلي باستخدام Azure Database for MySQL Import CLI

مكتمل

حان الوقت لترحيل خادم MySQL المحلي إلى قاعدة بيانات Azure لخادم MySQL المرن. لقد قررت إجراء ترحيل دون اتصال لأن إعدادات الشبكة تمنع الاتصال المباشر بين الخوادم المصدر والهدف. يلخص الرسم التخطيطي التالي الإجراء:

لقطة شاشة ل azure-import-cli-migration-procedure.

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

  • على الخادم المصدر، تأكد من تكوين الإعدادات التالية:

    • lower_case_table_names = 1  
      innodb_file_per_table = ON
      innodb_page_size = 16348 (MySQL Default)
      
    • يجب أن يكون ibdata1اسم مساحة جدول النظام .

    • يجب أن يكون حجم مساحة جدول النظام أكبر من أو يساوي 12 ميغابايت. (MySQL الافتراضي)

    • يتم دعم محرك INNODB فقط.

  • تحتاج إلى حاوية تخزين Azure Blob. إذا لم يكن لديك حاوية مناسبة، فبادر بإنشاء حاوية باستخدام هذا التشغيل السريع. تحتاج إلى الرمز المميز لتوقيع الوصول المشترك (SAS) الخاص بحاوية Azure Blob. لتحسين الأداء، احتفظ بالتخزين واستهداف الخادم المرن في نفس المنطقة.

  • تحتاج إلى إيقاف تشغيل التطبيق الخاص بك لمنع أي تغييرات على قاعدة البيانات.

الإجراء

  1. قم بعمل نسخة احتياطية فعلية من قاعدة بيانات MySQL. نستخدم أداة XtraBackup مفتوحة المصدر ل Percona.

    1. قم بتثبيت الأداة وفقا لهذه الإرشادات (ل MySQL 8.0).

    2. إنشاء نسخة احتياطية كاملة؛ على سبيل المثال:

      xtrabackup --backup --target-dir=/data/backups/
      
  2. قم بتحميل ملف النسخ الاحتياطي إلى تخزين Azure Blob، باتباع الخطوات التالية.

  3. قم بتشغيل الاستيراد عن طريق تشغيل هذا الأمر بعد ملء المتغيرات. يمكنك تعديل حجم الحساب أيضا عن طريق تغيير Standard_D2ds_v4.

    1. az mysql flexible-server import create --data-source-type "azure_blob" --data-source $BLOB_DATA_URL --data-source-backup-dir "mysql_backup_percona" –-data-source-token $SAS_TOKEN --resource-group $RESOURCE_GROUP --name $FLEXIBLE_SERVER_NAME –-sku-name Standard_D2ds_v4 --tier GeneralPurpose –-version 8.0 -–location westus --auto-scale-iops Enabled
      
    2. توقع أن يستغرق الاستيراد وقتا أطول بالتناسب مع ملف النسخ الاحتياطي. يستغرق استيراد ملف النسخ الاحتياطي 1 غيغابايت حوالي نصف دقيقة، بينما يستغرق ملف 1 تيرابايت حوالي 23 دقيقة.

ضع في اعتبارك القيود التالية:

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

بعد ترحيل المستخدمين والامتيازات، قم بتوصيل تطبيقاتك بالخادم المرن، واكتمل الترحيل.

تلميح

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