English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يمكننا إنهاء العمليات باستخدام أمر "kill"، ولكن نظرًا لأن MySQL لا يحتوي على أوامر "kill" الكبيرة، فإنك بحاجة إلى قتل هذه العمليات واحدة تلو الأخرى.
للتحقق من عدد العمليات الموجودة، استخدم أمر "عرض قائمة العمليات"
mysql> show processlist;
هذا هو الناتج.
+----+-----------------+-----------------+------+---------+------+------------------------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+-----------------+-----------------+------+---------+------+------------------------+------------------+ | 4 | event_scheduler | localhost | NULL | Daemon | 7986 | Waiting on empty queue | NULL | | 8 | root | localhost:65180 | test | Query | 0 | starting | show processlist | +----+-----------------+-----------------+------+---------+------+------------------------+------------------+ 2 سطر في المجموعة (0.00 ثانية)
لقتل عملية نشطة لأكثر من 10 ثانية، يرجى تنفيذ الاستعلام التالي. هنا، نحن نقتل عملية ذات معرف "4"
mysql> select concat('kill ',4,';') -> from information_schema.processlist -> where TIME > 10;
هذا هو الناتج.
+-----------------------+once; | concat('kill ',4,';') | +-----------------------+ | kill 4; | +-----------------------+ 1 سطر في المجموعة (0.00 ثانية)
بديلاً، يمكنك تجربة استخدام استعلام MySQL التالي لقتل جميع العمليات.
mysql -e "show full processlist;" -ss | awk '{print "KILL "$1";"}'| mysql