@DTest - czy można tego dokonać za pomocą zapytania? Nie mam bezpośredniego dostępu do serwera.
JIStone
To pytanie może się przydać innym programistom i DBA (+1) !!!
RolandoMySQLDBA
Odpowiedzi:
15
Z wiersza poleceń systemu Linux
for PROC_TO_KILL in`mysql -h...-u...-p...-A --skip-column-names -e"SHOW PROCESSLIST" | grep -v "system user" | awk '{print $1}'` ; do mysql -h... -u... -p... -A --skip-column-names -e"KILL QUERY ${PROC_TO_KILL}" ; done
Możesz zmienić opcję grep w nagłówku pętli for, aby zlokalizować określonego użytkownika lub określony ciąg w zapytaniu.
Jeśli masz MySQL 5.1, w którym lista procesów znajduje się w INFORMACJI_SCHEMA, możesz to zrobić, aby wygenerować polecenia KILL QUERY masowo z poziomu klienta mysql:
Możesz wykonać klauzule WHERE dla pola INFO, aby wyszukać określone zapytanie, pole TIME dla zapytań długo działających lub pole DB dla określonej bazy danych.
Odpowiedzi:
Z wiersza poleceń systemu Linux
Możesz zmienić opcję grep w nagłówku pętli for, aby zlokalizować określonego użytkownika lub określony ciąg w zapytaniu.
Jeśli masz MySQL 5.1, w którym lista procesów znajduje się w INFORMACJI_SCHEMA, możesz to zrobić, aby wygenerować polecenia KILL QUERY masowo z poziomu klienta mysql:
Możesz wykonać klauzule WHERE dla pola INFO, aby wyszukać określone zapytanie, pole TIME dla zapytań długo działających lub pole DB dla określonej bazy danych.
źródło
http://www.mysqlperformanceblog.com/2009/05/21/mass-killing-of-mysql-connections/
źródło