Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
#!/bin/bash
for i in `/usr/bin/mysql -e "show full processlist" |grep "$1" |grep "$2"|grep "$3"| awk '{print $1}'`;
do
KILL_STR="kill $i";
/usr/bin/mysql -e "$KILL_STR";
echo $KILL_STR;
done;
echo "DONE";
./kill.sh [filter_1] [filter_2] [filter_3]
ALTER выполняется в несколько этапов и может быть можно его прервать между ними. Или — простой пример — REPAIR TABLE t1, t2, t3; можно всегда спокойно и безопасно остановить между таблицами. for i in `mysql -uroot -hhost -ppassword -Ddatabase --default-character-set=utf8 -e"SELECT id FROM information_schema.processlist WHERE command='Sleep' and (state IS NULL or state='') and time>5" | grep -e'^[0-9]*$'`; do mysql -uroot -hhost -ppassword -Ddatabase --default-character-set=utf8 -e"KILL $i;"; done
Массовая остановка запросов