Panoramica
Se hai una query di lunga durata che non è corretta o richiede troppo tempo per essere completata, puoi interrompere la singola query senza influire sugli altri database.
Non uccidere con la forza MySQL direttamente il processo MySQL. Ciò molto probabilmente comporterà il danneggiamento dei dati.
Istruzioni
- Accedi alla tua shell MySQL come utente root:
mysql -uroot -p<MYSQLPASSWORD>
Per gli utenti Plesk, utilizzare quanto segue:
mysql -u admin -p`cat /etc/psa/.psa.shadow`
- Apri un elenco di processi con "SHOW PROCESSLIST;" comando. Dovresti vedere qualcosa del genere:
mysql> show processlist; +----+-------+-----------+------+---------+------+----------+--------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+-------+-----------+------+---------+------+----------+--------------------+ | 11 | web01 | localhost | NULL | Query | 1231 | updating | DELETE FROM logs.. | | 15 | web02 | localhost | NULL | Sleep | 10 | NULL | NULL | | 41 | root | localhost | NULL | Query | 0 | NULL | show processlist | +----+-------+-----------+------+---------+------+----------+--------------------+ 3 rows in set (0.00 sec)
- Individua il processo che desideri eliminare, in questo caso uccideremo la query DELETE con l'ID di 11 con il comando KILL:
KILL 11; Query OK, 0 rows affected (0.00 sec)
- Puoi eseguire "MOSTRA ELENCO PROCESSO;" di nuovo per confermare che il processo è stato interrotto.