القيود في قاعدة بيانات Azure لـ MySQL - الخادم المرن

ينطبق على: قاعدة بيانات Azure لـMySQL - خادم مرن

توضح هذه المقالة القيود في قاعدة بيانات Azure لخادم MySQL المرن. القيود العامة في محرك قاعدة بيانات MySQL قابلة للتطبيق أيضًا. إذا كنت ترغب في التعرف على قيود الموارد (الحوسبة والذاكرة والتخزين)، فراجع مقالة الحوسبة والتخزين.

معلمات الخادم

إشعار

  • إذا كنت تبحث عن قيم الحد الأدنى/الحد الأقصى لمعلمات الخادم مثل max_connections وinnodb_buffer_pool_size، فقد تم نقل هذه المعلومات إلى مقالة معلمات خادم مفاهيم معلمات الخادم.
  • يمكن تعيين قيمة lower_case_table_names إلى 1 فقط في قاعدة بيانات Azure لخادم MySQL المرن.

يدعم خادم Azure Database for MySQL المرن ضبط قيم معلمات الخادم. يتم تحديد بعض قيم الحد الأدنى والحد الأقصى للمعلمات (على سبيل المثال max_connections، ، join_buffer_size، query_cache_size) بواسطة طبقة الحوسبة وقبل حساب حجم الخادم. راجع معلمات الخادم للحصول على مزيدٍ من المعلومات حول هذه الحدود.

المفاتيح الأساسية غير المرئية التي تم إنشاؤها

بالنسبة إلى الإصدار 8.0 من MySQL والإصدارات الأحدث، يتم تمكين المفاتيح الأساسية غير المرئية التي تم إنشاؤها (GIPK) بشكل افتراضي لجميع مثيلات الخادم المرن ل Azure Database for MySQL. تضيف خوادم MySQL 8.0+ العمود غير المرئي my_row_id إلى الجداول ومفتاح أساسي على هذا العمود، حيث يتم إنشاء جدول InnoDB بدون مفتاح أساسي صريح. لهذا السبب، لا يمكنك إنشاء جدول يحتوي على عمود يسمى my_row_id ما لم تحدد عبارة إنشاء الجدول أيضا مفتاحا أساسيا صريحا. اعرف المزيد. بشكل افتراضي، يتم عرض GIPKs في إخراج SHOW CREATE TABLE و SHOW COLUMNS و SHOW INDEX، وتكون مرئية في جدولي مخطط المعلومات وإحصاءات. لمزيد من التفاصيل حول GIPK وحالات استخدامه مع Data-in-Replication في قاعدة بيانات Azure لخادم MySQL المرن، راجع GIPK مع Data-in-Replication.

خطوات لتعطيل GIPK

  • يمكنك تحديث قيمة معلمة الخادم sql_generate_invisible_primary_key إلى "إيقاف التشغيل" باتباع الخطوات المذكورة حول كيفية تحديث أي معلمة خادم من مدخل Microsoft Azure أو باستخدام Azure CLI.

  • أو يمكنك الاتصال بقاعدة بيانات Azure لمثيلات الخادم المرن MySQL وتشغيل الأمر التالي.

mysql> SET sql_generate_invisible_primary_key=OFF;

lower_case_table_names

في خادم Azure Database for MySQL المرن، القيمة الافتراضية ل lower_case_table_names هي 1 للإصدار 5.7 من MySQL. إذا كنت بحاجة إلى ضبط هذا الإعداد، نوصي بالتواصل مع فريق الدعم للحصول على إرشادات. من المهم أن نفهم أنه بمجرد تغيير قيمة المعلمة إلى 2، لا يسمح بالرجوع من 2 إلى 1.

بالنسبة إلى الإصدار 8.0 من MySQL، يرجى ملاحظة أن تغيير إعداد lower_case_table_names بعد تهيئة الخادم محظور. اعرف المزيد. في Azure Database for MySQL flexible server الإصدار 8.0، القيمة الافتراضية ل lower_case_table_names هي 1. إذا كنت ترغب في تعديل هذه المعلمة إلى 2، فإننا نقترح إنشاء خادم MySQL 5.7، والاتصال بفريق الدعم لدينا للمساعدة في التغيير، وبعد ذلك، إذا لزم الأمر، يمكنك ترقية الخادم إلى الإصدار 8.0.

محركات التخزين

تدعم MySQL العديد من محركات التخزين. في خادم Azure Database for MySQL المرن، فيما يلي قائمة بمحركات التخزين المدعومة وغير المدعومة:

مدعوم

غير مدعوم

دعم معالجة الامتيازات والبيانات

يمكن أن تؤدي العديد من معلمات الخادم وإعداداته إلى تدهور أداء الخادم عن غير قصد أو نفي خصائص ACID لخادم MySQL. لا تعرض هذه الخدمة أدوارا متعددة للحفاظ على تكامل الخدمة واتفاقية مستوى الخدمة على مستوى المنتج.

لا تسمح خدمة MySQL بالوصول المباشر إلى نظام الملفات الأساسي. بعض أوامر معالجة البيانات غير مدعومة.

غير مدعوم

العناصر التالية غير مدعومة:

  • دور DBA: مقيد. بدلا من ذلك، يمكنك استخدام مستخدم المسؤول (الذي تم إنشاؤه أثناء إنشاء الخادم الجديد)، والذي يسمح لك بتنفيذ معظم عبارات DDL وDML.
  • أقل من الامتيازات الثابتة مقيدة.
  • امتياز BACKUP_ADMIN: منح امتياز BACKUP_ADMIN غير مدعوم لأخذ النسخ الاحتياطية باستخدام أي أدوات مساعدة. راجع القسم المعتمد للحصول على قائمة الامتيازات الديناميكية المدعومة.
  • DEFINER: يتطلب امتيازات فائقة للإنشاء وهو مقيد. إذا كان استيراد البيانات باستخدام نسخة احتياطية، فقم بإزالة CREATE DEFINER الأوامر يدويا أو استخدم --skip-definer الأمر عند تنفيذ mysqlpump.
  • قواعد بيانات النظام: قاعدة بيانات نظام mysql للقراءة فقط وتستخدم لدعم وظائف PaaS المختلفة. لا يمكنك إجراء تغييرات على قاعدة بيانات نظام mysql.
  • SELECT ... INTO OUTFILE: غير مدعوم في الخدمة.

مدعوم

  • يتم دعم LOAD DATA INFILE، ولكن يجب تحديد المعلمة [LOCAL] وتوجيهها إلى مسار UNC (تخزين Azure المثبت من خلال SMB). بالإضافة إلى ذلك، إذا كنت تستخدم إصدار >عميل MySQL = 8.0، فستحتاج إلى تضمين -–local-infile=1 معلمة في سلسلة الاتصال.
  • بالنسبة للإصدار MySQL 8.0 والإصدارات الأحدث، يتم دعم الامتيازات الديناميكية المذكورة أدناه فقط.

القيود الوظيفية

توفر عالٍ زائد عن الحاجة في المنطقة

  • هذا التكوين لا يمكن تعيينه إلا أثناء إنشاء الخادم.
  • غير مدعوم في طبقة الحوسبة القابلة للاندفاع.

الشبكة

  • لا يمكن تغيير أسلوب الاتصال ivity بعد إنشاء الخادم. إذا تم إنشاء الخادم باستخدام الوصول الخاص (تكامل الشبكة الظاهرية)، فلا يمكن تغييره إلى الوصول العام (عناوين IP المسموح بها) بعد الإنشاء، والعكس صحيح

إيقاف/بدء التشغيل

  • غير معتمد مع تكوينات النسخ المتماثلة للقراءة (كل من المصدر والنسخ المتماثلة).

عمليات تغيير الحجم

  • تقليل تخزين الخادم المقدم غير مدعوم.

ترقيات إصدار الخادم

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

استعادة أحد الخوادم

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

مقارنات الميزات

لا تتوفر جميع الميزات المتوفرة في قاعدة بيانات Azure لخادم MySQL الفردي في قاعدة بيانات Azure لخادم MySQL المرن.

للحصول على القائمة الكاملة لمقارنات الميزات بين قاعدة بيانات Azure لخادم MySQL الفردي وقاعدة بيانات Azure للخادم المرن MySQL، راجع اختيار خيار خادم MySQL الصحيح في Azure.

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