6

クエリがMySQLのテーブルをロックしました。テーブルのロックを解除するために、実行中のクエリのセッションをどのように強制終了できますか?

MySQLでアクティブなセッション/プロセスを表示するかどうかわかりません。SSH経由でこれを行うにはどうすればよいですか?

4

3 に答える 3

12

PuTTYに移動し、MySQLにログインします。MySQLで以下を実行します。

show processlist;

実行中のすべてのプロセスのリストが表示されます。テーブルをロックしているクエリを見つけることができるでしょう。これは、ロックが解除されるのを待っている他のクエリの束を含む、最も長く実行されているクエリである可能性が高いためです。このクエリのプロセスIDをメモします。

次に、以下を実行します。

kill [PROCESSID];

それはプロセスを殺します。もちろん、開始されたクエリを停止する権限を持つユーザーとしてこれを行う必要があります(したがって、同じユーザーを使用するかroot、必要な場合は使用してください)。

于 2012-07-17T13:53:41.467 に答える
2

MySQLコンソールまたはその他のツールを使用してクエリを実行しSHOW PROCESSLIST、アクティブなクエリを確認します。

そして、クエリkill 123を実行して、ID123のクエリ/接続を強制終了します。

于 2012-07-17T13:56:53.143 に答える
0

人間が読めるようにするには、次のコマンドを使用します。

    mysql> show processlist\G

次に、上記のいくつかが言ったように、コマンドを使用します:

    kill PROCESSID;

例は次のとおりです。

    kill 1234;

ここで、1234は、最も多くのリソース/時間を使用しているIDとして表示されたIDでした。ただし、データが破損する可能性があるため、これには注意してください。

于 2013-11-04T22:34:08.277 に答える