[M1 Mac, Big Sur 11.7.2, Python 3.10.4, MySQL 8.0.31]
実行中のクエリを中断するスクリプトを書きました。
Webアプリのボタンを押して中断させたかったのですが、今のところ私のスキルではできないので、このファイルを実行するシェルスクリプトを作成し、とりあえず完了としました。
シェルスクリプトをダブルクリックするとクエリを中断できます。
python stop_query.py
import MySQLdb
# MySQLに接続
conn = MySQLdb.connect(user='root')
cur = conn.cursor()
# プロセス確認
proc = f'show processlist;'
cur.execute(proc)
procs = cur.fetchall()
# 実行中クエリを中断
for row in procs:
print(row)
if 'executing' in row:
id = row[0]
print(f'id : {id}')
kill = f'kill {id};'
cur.execute(kill)
conn.close()