معلمات الخادم في Azure Database for MySQL - Flexible Server
ينطبق على: قاعدة بيانات Azure ل MySQL - خادم مرن
توفر هذه المقالة اعتبارات وإرشادات لتكوين معلمات الخادم في قاعدة بيانات Azure ل MySQL - الخادم المرن.
إشعار
تحتوي هذه المقالة على مراجع لمصطلح الرقيق، والذي لم تعد Microsoft تستخدمه. عند إزالة المصطلح من البرنامج، بالتالي سنزيله من هذه المقالة.
ما هي المعلمات المتعلقة بالخادم؟
يوفر محرك MySQL العديد من معلمات الخادم (تسمى أيضا المتغيرات) التي يمكنك استخدامها لتكوين سلوك المحرك وضبطه. يمكن تعيين بعض المعلمات ديناميكيا أثناء وقت التشغيل. البعض الآخر ثابت ويتطلب إعادة تشغيل الخادم بعد تعيينه.
في Azure Database for MySQL - Flexible Server، يمكنك تغيير قيمة معلمات خادم MySQL المختلفة باستخدام مدخل Azure وAzure CLI لمطابقة احتياجات حمل العمل الخاص بك.
معلمات الخادم القابلة للتكوين
يمكنك إدارة تكوين قاعدة بيانات Azure لخادم MySQL المرن باستخدام معلمات الخادم. يتم تكوين معلمات الخادم بالقيم الافتراضية والموصى بها عند إنشاء الخادم. يعرض جزء معلمات الخادم في مدخل Microsoft Azure كلا من المعلمات القابلة للتعديل وغير القابلة للتعديل. معلمات الخادم غير القابلة للتعديل غير متوفرة.
قائمة معلمات الخادم المدعومة تتزايد باستمرار. يمكنك استخدام مدخل Microsoft Azure لعرض القائمة الكاملة لمعلمات الخادم وتكوين القيم بشكل دوري.
إذا قمت بتعديل معلمة خادم ثابت باستخدام المدخل، فستحتاج إلى إعادة تشغيل الخادم حتى تسري التغييرات. إذا كنت تستخدم البرامج النصية التلقائية (من خلال أدوات مثل قوالب Azure Resource Manager أو Terraform أو Azure CLI)، يجب أن يكون لدى البرنامج النصي الخاص بك توفير لإعادة تشغيل الخدمة حتى تدخل الإعدادات حيز التنفيذ، حتى إذا كنت تقوم بتغيير التكوين كجزء من تجربة الإنشاء.
إذا كنت تريد تعديل معلمة خادم غير قابلة للتعديل للبيئة الخاصة بك، فقم بنشر فكرة عبر ملاحظات المجتمع، أو التصويت إذا كانت الملاحظات موجودة بالفعل (والتي يمكن أن تساعدنا في تحديد أولوياتنا).
تصف الأقسام التالية حدود معلمات الخادم المحدثة بشكل شائع. تحدد طبقة الحوسبة وحجم (vCores) للخادم الحدود.
lower_case_table_names
بالنسبة إلى الإصدار 5.7 من MySQL، تكون القيمة الافتراضية lower_case_table_names
في 1
قاعدة بيانات Azure ل MySQL - الخادم المرن. على الرغم من أنه من الممكن تغيير القيمة المدعومة إلى 2
، فإن العودة من 2
الخلف إلى 1
غير مسموح به. للمساعدة في تغيير القيمة الافتراضية، قم بإنشاء تذكرة دعم.
بالنسبة إلى الإصدار 8.0+ من MySQL، يمكنك التكوين lower_case_table_names
فقط عند تهيئة الخادم. اعرف المزيد. lower_case_table_names
يحظر تغيير الإعداد بعد تهيئة الخادم.
القيم المدعومة للإصدار 8.0 من MySQL هي 1
وفي 2
قاعدة بيانات Azure ل MySQL - الخادم المرن. القيمة الافتراضية هي 1
. للمساعدة في تغيير القيمة الافتراضية أثناء إنشاء الخادم، أنشئ تذكرة دعم.
innodb_tmpdir
يمكنك استخدام المعلمة innodb_tmpdir في Azure Database for MySQL - Flexible Server لتعريف الدليل لملفات الفرز المؤقتة التي تم إنشاؤها أثناء العمليات عبر الإنترنت ALTER TABLE
التي تعيد البناء.
وتكون القيمة الافتراضية لـ innodb_tmpdir
هي /mnt/temp
. يتوافق هذا الموقع مع التخزين المؤقت (SSD) ويتوفر في gibibytes (GiB) مع كل حجم حساب خادم. هذا الموقع مثالي للعمليات التي لا تتطلب مساحة كبيرة.
إذا كنت بحاجة إلى مساحة إضافية، يمكنك تعيين innodb_tmpdir
إلى /app/work/tmpdir
. يستخدم هذا الإعداد سعة التخزين المتوفرة على خادم Azure Database for MySQL المرن. يمكن أن يكون هذا الإعداد مفيدا للعمليات الأكبر التي تتطلب تخزينا مؤقتا أكثر.
ضع في اعتبارك أن استخدام /app/work/tmpdir
يؤدي إلى أداء أبطأ مقارنة بقيمة التخزين المؤقت الافتراضي (SSD/mnt/temp
). قم بإجراء الاختيار بناء على المتطلبات المحددة للعمليات.
تنطبق المعلومات المقدمة على innodb_tmpdir
المعلمات innodb_temp_tablespaces_dir وtmpdir slave_load_tmpdir حيث:
- القيمة
/mnt/temp
الافتراضية شائعة. - الدليل البديل
/app/work/tmpdir
متاح لتكوين زيادة التخزين المؤقت، مع مفاضلة في الأداء استنادا إلى متطلبات تشغيلية محددة.
log_bin_trust_function_creators
في Azure Database for MySQL - Flexible Server، يتم تمكين السجلات الثنائية دائما (أي، log_bin
يتم تعيين إلى ON
). log_bin_trust_function_creators
يتم تعيين المعلمة إلى ON
افتراضيا في خوادم مرنة.
تنسيق التسجيل الثنائي هو دائما ROW
، وتستخدم الاتصالات بالخادم دائما التسجيل الثنائي المستند إلى الصف. مع التسجيل الثنائي المستند إلى الصف، لا توجد مشكلات أمنية ولا يمكن قطع التسجيل الثنائي، لذلك يمكنك السماح log_bin_trust_function_creators
بالبقاء بأمان ك ON
.
إذا log_bin_trust_function_creators
تم تعيين إلى OFF
وحاولت إنشاء مشغلات، فقد تحصل على أخطاء مشابهة لما يلي: "ليس لديك امتياز SUPER، ويتم تمكين التسجيل الثنائي (قد ترغب في استخدام المتغير الأقل أمانا log_bin_trust_function_creators
)."
innodb_buffer_pool_size
للتعرف على المعلمة innodb_buffer_pool_size
، راجع وثائق MySQL.
يمثل حجم الذاكرة الفعلية في الجدول التالي ذاكرة الوصول العشوائي المتوفرة (RAM)، بالجيجابايت (GB)، على قاعدة بيانات Azure لخادم MySQL المرن.
مستوى الأسعار | وحدات vCore | حجم الذاكرة الفعلية (GB) | القيمة الافتراضية (بايت) | قيمة الحد الأدنى (بايت) | أقصى قيمة (بايت) |
---|---|---|---|---|---|
Burstable (B1s) | 1 | 1 | 134217728 | 33554432 | 268435456 |
Burstable (B1ms) | 1 | 2 | 536870912 | 134217728 | 1073741824 |
قابل للاندفاع (B2s) | 2 | 4 | 2147483648 | 134217728 | 2147483648 |
قابل للاندفاع (B2ms) | 2 | 8 | 4294967296 | 134217728 | 5368709120 |
قابل للاندفاع | 4 | 16 | 12884901888 | 134217728 | 12884901888 |
قابل للاندفاع | 8 | 32 | 25769803776 | 134217728 | 25769803776 |
قابل للاندفاع | 12 | 48 | 51539607552 | 134217728 | 51539607552 |
قابل للاندفاع | 16 | 64 | 2147483648 | 134217728 | 2147483648 |
قابل للاندفاع | 20 | 80 | 64424509440 | 134217728 | 64424509440 |
General Purpose | 2 | 8 | 4294967296 | 134217728 | 5368709120 |
General Purpose | 4 | 16 | 12884901888 | 134217728 | 12884901888 |
General Purpose | 8 | 32 | 25769803776 | 134217728 | 25769803776 |
General Purpose | 16 | 64 | 51539607552 | 134217728 | 51539607552 |
General Purpose | 32 | 128 | 103079215104 | 134217728 | 103079215104 |
General Purpose | 48 | 192 | 154618822656 | 134217728 | 154618822656 |
General Purpose | 64 | 256 | 206158430208 | 134217728 | 206158430208 |
أعمال حرجة | 2 | 16 | 12884901888 | 134217728 | 12884901888 |
أعمال حرجة | 4 | 32 | 25769803776 | 134217728 | 25769803776 |
أعمال حرجة | 8 | 64 | 51539607552 | 134217728 | 51539607552 |
أعمال حرجة | 16 | 128 | 103079215104 | 134217728 | 103079215104 |
أعمال حرجة | 20 | 160 | 128849018880 | 134217728 | 128849018880 |
أعمال حرجة | 32 | 256 | 206158430208 | 134217728 | 206158430208 |
أعمال حرجة | 48 | 384 | 309237645312 | 134217728 | 309237645312 |
أعمال حرجة | 64 | 504 | 405874409472 | 134217728 | 405874409472 |
innodb_file_per_table
يخزن MySQL جدول InnoDB في مساحات جداول مختلفة استنادا إلى التكوين الذي قدمته أثناء إنشاء الجدول. بنية التخزين الجدولية للنظام هي منطقة التخزين لقاموس بيانات InnoDB. تحتوي مساحة الجدول لكل ملف على بيانات وفهرس لجدول InnoDB واحد، ويتم تخزينها في نظام الملفات في ملف البيانات الخاص بها. تتحكم معلمة خادم innodb_file_per_table في هذا السلوك.
يؤدي تعيين innodb_file_per_table
إلى OFF
إلى قيام InnoDB بإنشاء جداول في بنية التخزين الجدولية للنظام. وبخلاف ذلك، يقوم InnoDB بإنشاء جداول في بنيات التخزين الجدولية file-per-table.
يدعم Azure Database for MySQL - Flexible Server بحد أقصى 8 تيرابايت (TB) في ملف بيانات واحد. إذا كان حجم قاعدة البيانات أكبر من 8 تيرابايت، يجب إنشاء الجدول في innodb_file_per_table
مساحة الجدول. إذا كان لديك حجم جدول واحد أكبر من 8 تيرابايت، فيجب عليك استخدام جدول القسم.
innodb_log_file_size
قيمة innodb_log_file_size هي حجم (بالبايت) لكل ملف سجل في مجموعة سجل. لا يمكن أن يتجاوز الحجم المجمع لملفات السجل (innodb_log_file_size * innodb_log_files_in_group) الحد الأقصى للقيمة الأقل قليلا من 512 غيغابايت.
حجم ملف سجل أكبر أفضل للأداء، ولكن العيب هو أن وقت الاسترداد بعد حدوث عطل مرتفع. تحتاج إلى موازنة وقت الاسترداد للحدث النادر للتعطل مقابل تكبير معدل النقل أثناء عمليات الذروة. يمكن أن يؤدي حجم ملف السجل الأكبر أيضا إلى أوقات إعادة تشغيل أطول.
يمكنك التكوين innodb_log_size
إلى 256 ميغابايت أو 512 ميغابايت أو 1 غيغابايت أو 2 غيغابايت لقاعدة بيانات Azure ل MySQL - الخادم المرن. المعلمة ثابتة وتتطلب إعادة تشغيل.
إشعار
إذا قمت بتغيير المعلمة innodb_log_file_size
من الافتراضي، فتحقق مما إذا كانت قيمة show global status like 'innodb_buffer_pool_pages_dirty'
تبقى لمدة 0
30 ثانية لتجنب تأخير إعادة التشغيل.
max_connections
يحدد حجم ذاكرة الخادم قيمة max_connections
. يمثل حجم الذاكرة الفعلية في الجدول التالي ذاكرة الوصول العشوائي المتوفرة، بالجيجابايت، على خادم Azure Database for MySQL المرن.
مستوى الأسعار | وحدات vCore | حجم الذاكرة الفعلية (GB) | القيمة الافتراضية | أدنى قيمة | أقصى قيمة |
---|---|---|---|---|---|
Burstable (B1s) | 1 | 1 | 85 | 10 | 171 |
Burstable (B1ms) | 1 | 2 | 171 | 10 | 341 |
قابل للاندفاع (B2s) | 2 | 4 | 341 | 10 | 683 |
قابل للاندفاع (B2ms) | 2 | 4 | 683 | 10 | 1365 |
قابل للاندفاع | 4 | 16 | 1365 | 10 | 2731 |
قابل للاندفاع | 8 | 32 | 2731 | 10 | 5461 |
قابل للاندفاع | 12 | 48 | 4097 | 10 | 8193 |
قابل للاندفاع | 16 | 64 | 5461 | 10 | 10923 |
قابل للاندفاع | 20 | 80 | 6827 | 10 | 13653 |
General Purpose | 2 | 8 | 683 | 10 | 1365 |
General Purpose | 4 | 16 | 1365 | 10 | 2731 |
General Purpose | 8 | 32 | 2731 | 10 | 5461 |
General Purpose | 16 | 64 | 5461 | 10 | 10923 |
General Purpose | 32 | 128 | 10923 | 10 | 21845 |
General Purpose | 48 | 192 | 16384 | 10 | 32768 |
General Purpose | 64 | 256 | 21845 | 10 | 43691 |
أعمال حرجة | 2 | 16 | 1365 | 10 | 2731 |
أعمال حرجة | 4 | 32 | 2731 | 10 | 5461 |
أعمال حرجة | 8 | 64 | 5461 | 10 | 10923 |
أعمال حرجة | 16 | 128 | 10923 | 10 | 21845 |
أعمال حرجة | 20 | 160 | 13653 | 10 | 27306 |
أعمال حرجة | 32 | 256 | 21845 | 10 | 43691 |
أعمال حرجة | 48 | 384 | 32768 | 10 | 65536 |
أعمال حرجة | 64 | 504 | 43008 | 10 | 86016 |
عندما تتجاوز الاتصالات الحد، قد تتلقى الخطأ التالي: "ERROR 1040 (08004): اتصالات كثيرة جدا."
يستغرق إنشاء اتصالات عميل جديدة ب MySQL وقتا. بعد إنشاء هذه الاتصالات، فإنها تشغل موارد قاعدة البيانات، حتى عندما تكون الخامة. تطلب معظم التطبيقات العديد من الاتصالات قصيرة الأجل، مما يفاقم هذا الوضع. والنتيجة هي موارد أقل متاحة لحمل العمل الفعلي الخاص بك، مما يؤدي إلى انخفاض الأداء.
يساعدك تجمع الاتصال الذي يقلل الاتصالات الخاملة ويعيد استخدام الاتصالات الموجودة على تجنب هذه المشكلة. للحصول على أفضل تجربة، نوصي باستخدام تجمع اتصال مثل ProxySQL لإدارة الاتصالات بكفاءة. للتعرف على إعداد ProxySQL، راجع منشور المدونة هذا.
إشعار
ProxySQL هي أداة مجتمع مفتوحة المصدر. تدعم Microsoft ذلك على أساس أفضل جهد. للحصول على دعم الإنتاج مع إرشادات موثوقة، اتصل بدعم منتج ProxySQL.
innodb_strict_mode
إذا تلقيت خطأ مشابها ل "حجم الصف كبير جدا (> 8126)،" فقد تحتاج إلى إيقاف تشغيل معلمة innodb_strict_mode
الخادم. لا يمكن تعديل هذه المعلمة بشكل عام على مستوى الخادم لأنه إذا كان حجم بيانات الصف أكبر من 8K، يتم اقتطاع البيانات دون حدوث خطأ. يمكن أن يؤدي هذا الاقتطاع إلى فقدان محتمل للبيانات. نوصي بتعديل المخطط ليناسب حد حجم الصفحة.
يمكنك تعيين هذه المعلمة على مستوى جلسة العمل باستخدام init_connect
. لمزيد من المعلومات، راجع تعيين معلمات الخادم غير القابلة للتعديل.
إشعار
إذا كان لديك خادم نسخة متماثلة للقراءة، فإن الإعداد innodb_strict_mode
إلى OFF
على مستوى جلسة العمل على خادم مصدر سيقطع النسخ المتماثل. نقترح الاحتفاظ بالمعامل بشكل مضبوط على ON
إذا كنت قد قرأت النسخ المتماثلة.
time_zone
عند النشر الأولي، يتضمن مثيل Azure Database for MySQL - Flexible Server جداول النظام لمعلومات المنطقة الزمنية، ولكن لا يتم ملء هذه الجداول. يمكنك ملء جداول المنطقة الزمنية عن طريق استدعاء mysql.az_load_timezone
الإجراء المخزن من أداة مثل سطر أوامر MySQL أو MySQL Workbench. يمكنك أيضا استدعاء الإجراء المخزن وتعيين المناطق الزمنية العمومية أو على مستوى الجلسة باستخدام مدخل Microsoft Azure أو Azure CLI.
binlog_expire_logs_seconds
في Azure Database for MySQL - Flexible Server، binlog_expire_logs_seconds
تحدد المعلمة عدد الثوان التي تنتظرها الخدمة قبل حذف ملف السجل الثنائي.
يحتوي السجل الثنائي على أحداث تصف تغييرات قاعدة البيانات، مثل عمليات إنشاء الجدول أو التغييرات التي تطرأ على بيانات الجدول. يحتوي السجل الثنائي أيضا على أحداث لعبارات يحتمل أن تكون قد أجريت تغييرات. يستخدم السجل الثنائي بشكل رئيسي لغرضين: النسخ المتماثل وعمليات استرداد البيانات.
عادة، يتم حذف السجلات الثنائية بمجرد أن يكون المقبض خاليا من الخدمة أو النسخ الاحتياطي أو مجموعة النسخ المتماثلة. إذا كانت هناك نسخ متماثلة متعددة، تنتظر السجلات الثنائية أبطأ نسخة متماثلة لقراءة التغييرات قبل حذفها.
إذا كنت تريد الاحتفاظ بالسجلات الثنائية لمدة أطول، يمكنك تكوين المعلمة binlog_expire_logs_seconds
. إذا binlog_expire_logs_seconds
تم تعيين إلى القيمة الافتراضية ل 0
، يتم حذف سجل ثنائي بمجرد تحرير المقبض إليه. إذا كانت قيمة binlog_expire_logs_seconds
أكبر من 0
، يتم حذف السجل الثنائي بعد عدد الثوان المكون.
قاعدة بيانات Azure ل MySQL - يعالج الخادم المرن الميزات المدارة، مثل النسخ الاحتياطي وحذف النسخة المتماثلة للقراءة من الملفات الثنائية، داخليا. عند نسخ البيانات من Azure Database for MySQL - Flexible Server، يجب تعيين هذه المعلمة في الأساسي لتجنب حذف السجلات الثنائية قبل قراءة النسخة المتماثلة من التغييرات في الأساسي. إذا قمت بتعيين binlog_expire_logs_seconds
إلى قيمة أعلى، فلن يتم حذف السجلات الثنائية قريبا بما فيه الكفاية. يمكن أن يؤدي هذا التأخير إلى زيادة في فوترة التخزين.
event_scheduler
في Azure Database for MySQL - Flexible Server، تدير معلمة event_scheduler
الخادم إنشاء الأحداث وجدولتها وتشغيلها. أي أن المعلمة تدير المهام التي تعمل وفقا لجدول زمني بواسطة مؤشر ترابط MySQL Event Scheduler خاص. عند تعيين المعلمة event_scheduler
إلى ON
، يتم سرد مؤشر ترابط Event Scheduler كعملية خفي في إخراج SHOW PROCESSLIST
.
يمكنك إنشاء الأحداث وجدولتها باستخدام بناء جملة SQL التالي:
CREATE EVENT <event name>
ON SCHEDULE EVERY _ MINUTE / HOUR / DAY
STARTS TIMESTAMP / CURRENT_TIMESTAMP
ENDS TIMESTAMP / CURRENT_TIMESTAMP + INTERVAL 1 MINUTE / HOUR / DAY
COMMENT '<comment>'
DO
<your statement>;
لمزيد من المعلومات حول إنشاء حدث، راجع الوثائق التالية حول Event Scheduler في الدليل المرجعي MySQL:
تكوين معلمة خادم event_scheduler
يوضح السيناريو التالي إحدى الطرق لاستخدام المعلمة event_scheduler
في قاعدة بيانات Azure ل MySQL - الخادم المرن.
لتوضيح السيناريو، ضع في اعتبارك المثال التالي لجدول بسيط:
mysql> describe tab1;
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| CreatedAt | timestamp | YES | | NULL | |
| CreatedBy | varchar(16) | YES | | NULL | |
+-----------+-------------+------+-----+---------+----------------+
3 rows in set (0.23 sec)
لتكوين معلمة event_scheduler
الخادم في Azure Database for MySQL - Flexible Server، قم بتنفيذ الخطوات التالية:
في مدخل Microsoft Azure، انتقل إلى مثيل Azure Database for MySQL - Flexible Server. ضمن Settings، حدد Server parameters.
في جزء Server parameters ، ابحث
event_scheduler
عن . في القائمة المنسدلة VALUE ، حدد ON، ثم حدد Save.إشعار
لا يتطلب نشر تغيير التكوين الديناميكي إلى معلمة الخادم إعادة تشغيل.
لإنشاء حدث، اتصل بمثيل Azure Database for MySQL - Flexible Server وقم بتشغيل أمر SQL التالي:
CREATE EVENT test_event_01 ON SCHEDULE EVERY 1 MINUTE STARTS CURRENT_TIMESTAMP ENDS CURRENT_TIMESTAMP + INTERVAL 1 HOUR COMMENT 'Inserting record into the table tab1 with current timestamp' DO INSERT INTO tab1(id,createdAt,createdBy) VALUES('',NOW(),CURRENT_USER());
لعرض تفاصيل Event Scheduler، قم بتشغيل عبارة SQL التالية:
SHOW EVENTS;
يظهر الإخراج التالي:
mysql> show events; +-----+---------------+-------------+-----------+-----------+------------+----------------+----------------+---------------------+---------------------+---------+------------+----------------------+----------------------+--------------------+ | Db | Name | Definer | Time zone | Type | Execute at | Interval value | Interval field | Starts | Ends | Status | Originator | character_set_client | collation_connection | Database Collation | +-----+---------------+-------------+-----------+-----------+------------+----------------+----------------+---------------------+---------------------+---------+------------+----------------------+----------------------+--------------------+ | db1 | test_event_01 | azureuser@% | SYSTEM | RECURRING | NULL | 1 | MINUTE | 2023-04-05 14:47:04 | 2023-04-05 15:47:04 | ENABLED | 3221153808 | latin1 | latin1_swedish_ci | latin1_swedish_ci | +-----+---------------+-------------+-----------+-----------+------------+----------------+----------------+---------------------+---------------------+---------+------------+----------------------+----------------------+--------------------+ 1 row in set (0.23 sec)
بعد بضع دقائق، استعلم عن الصفوف من الجدول لبدء عرض الصفوف المدرجة كل دقيقة وفقا للمعلمة
event_scheduler
التي قمت بتكوينها:mysql> select * from tab1; +----+---------------------+-------------+ | id | CreatedAt | CreatedBy | +----+---------------------+-------------+ | 1 | 2023-04-05 14:47:04 | azureuser@% | | 2 | 2023-04-05 14:48:04 | azureuser@% | | 3 | 2023-04-05 14:49:04 | azureuser@% | | 4 | 2023-04-05 14:50:04 | azureuser@% | +----+---------------------+-------------+ 4 rows in set (0.23 sec)
بعد ساعة، قم بتشغيل عبارة
select
على الجدول لعرض النتيجة الكاملة للقيم المدرجة في الجدول كل دقيقة لمدة ساعة (كماevent_scheduler
تم تكوينها في هذه الحالة):mysql> select * from tab1; +----+---------------------+-------------+ | id | CreatedAt | CreatedBy | +----+---------------------+-------------+ | 1 | 2023-04-05 14:47:04 | azureuser@% | | 2 | 2023-04-05 14:48:04 | azureuser@% | | 3 | 2023-04-05 14:49:04 | azureuser@% | | 4 | 2023-04-05 14:50:04 | azureuser@% | | 5 | 2023-04-05 14:51:04 | azureuser@% | | 6 | 2023-04-05 14:52:04 | azureuser@% | ..< 50 lines trimmed to compact output >.. | 56 | 2023-04-05 15:42:04 | azureuser@% | | 57 | 2023-04-05 15:43:04 | azureuser@% | | 58 | 2023-04-05 15:44:04 | azureuser@% | | 59 | 2023-04-05 15:45:04 | azureuser@% | | 60 | 2023-04-05 15:46:04 | azureuser@% | | 61 | 2023-04-05 15:47:04 | azureuser@% | +----+---------------------+-------------+ 61 rows in set (0.23 sec)
السيناريوهات الأخرى
يمكنك إعداد حدث استنادا إلى متطلبات السيناريو المحدد. تتبع بعض الأمثلة على جدولة عبارات SQL للتشغيل في فواصل زمنية مختلفة.
لتشغيل عبارة SQL الآن وتكرارها مرة واحدة في اليوم دون نهاية:
CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 DAY
STARTS (TIMESTAMP(CURRENT_DATE) + INTERVAL 1 DAY + INTERVAL 1 HOUR)
COMMENT 'Comment'
DO
<your statement>;
لتشغيل عبارة SQL كل ساعة دون نهاية:
CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 HOUR
COMMENT 'Comment'
DO
<your statement>;
لتشغيل عبارة SQL كل يوم بدون نهاية:
CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 DAY
STARTS str_to_date( date_format(now(), '%Y%m%d 0200'), '%Y%m%d %H%i' ) + INTERVAL 1 DAY
COMMENT 'Comment'
DO
<your statement>;
القيود
بالنسبة للخوادم ذات التوفر العالي المكونة، عند حدوث تجاوز الفشل، من الممكن تعيين معلمة event_scheduler
الخادم إلى OFF
. إذا حدث ذلك، عند اكتمال تجاوز الفشل، قم بتكوين المعلمة لتعيين القيمة إلى ON
.
معلمات الخادم غير القابلة للتعديل
يعرض جزء معلمات الخادم في مدخل Microsoft Azure معلمات الخادم القابلة للتعديل وغير القابلة للتعديل. معلمات الخادم غير القابلة للتعديل غير متوفرة. يمكنك تكوين معلمة خادم غير قابلة للتعديل على مستوى الجلسة باستخدام init_connect
في مدخل Microsoft Azure أو Azure CLI.