سؤال

هل هناك على أي حال لتحديد أولويات أو خنق استعلام على الإطلاق في MySQL؟

أنا DBA على خادم يرى الكثير من الاستعلامات غير المستقرة في الخادم وتدمر وحدة المعالجة المركزية فقط. أنا أبحث في اختناق بعض المستخدمين الذين ضربوا قاعدة البيانات بطريقة سيئة.

توضيح:

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

هل كانت مفيدة؟

المحلول

http://dev.mysql.com/doc/refman/4.1/en/user-resources.html

بدءًا من MySQL 4.0.2 ، يمكنك الحد من الوصول إلى موارد الخادم التالية للحسابات الفردية:

عدد الاستفسارات التي يمكن أن يصدرها الحساب في الساعة

عدد التحديثات التي يمكن أن يصدرها الحساب في الساعة

عدد المرات التي يمكن فيها الاتصال بالخادم في الساعة

معلومات إضافية -

ليس لدى MySQL قيمة مهلة الاستعلام ، أو أي طريقة أخرى مدمجة لخنق استعلام فردي. ومع ذلك ، من التافهة أن تكتب نصًا سيقتل استفسارات طويلة الأمد. يمكنك حتى التقاط المستخدم والاستعلام حتى تتمكن من التغلب على المستخدم/المبرمج المخالف لاحقًا.

هنا هو مثال واحد باستخدام بيرل.

نصائح أخرى

أعلم أن PhpmyAdmin لديها مساحة لـ Max # من الاستعلامات في الساعة ، و Max # من التحديثات في الساعة ، و Max # من الاتصالات في الساعة ، و Max # من اتصالات المستخدم لكل مستخدم. ربما تكون هناك طرق أخرى لتعيين هذه القيم بخلاف phpmyadmin

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top