【MySQL】レンタルサーバーのMySQLがロックされたときの対処方法

レンタルサーバーのMySQLのロックを解除してほしいという依頼を受け対応したので備忘録として残します。

Xサーバーのレンタルサーバー上のMySQLで
複数のテーブルを紐づけたUPDATE文を実行したところ、
結果が返ってこず、対象のテーブルのデータを更新しようとすると

というエラーで更新できなくなったとのこと。
また、レンタルサーバーのMySQLを再起動する方法は用意されていないとのことで、ロックを解除する必要があります。

以下の手順でロックを解除しました。

1.サーバーにSSHで接続する

専用サーバーやVPSでなくてもSSH接続できるレンタルサーバーが増えています。
今回のサーバーは「Xサーバー」のレンタルサーバーですが、SSH接続が用意されていました。

2.コマンドでMySQLにログインする

でパスワードを入力してログインします。
対象のデータベースだけの権限を持っているユーザーでOKです。

3.データベースを選択する

4.プロセス一覧を表示する

実行中のプロセスが一覧で表示されますので、
ロックの原因となっているSQLの「Id」欄をメモします。

5.プロセスをkillする

以上です。

その後、適切にインデックスを追加したことで
ロックすることもなくなりました。