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

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

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

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

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

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

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

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

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

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

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

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

5.プロセスをkillする

以上です。

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

【Windows10】手動でロックする方法

Windowsではしばらく操作しないでいると
自動的にロックされるようにできますが、
席を離れるときに手動でロックしたいときもあると思います。

最近ではセキュリティのため離席時のロックを義務付けている企業も多いでしょう。

手動でロックするには、
スタートメニューの自分のアカウントのアイコンをクリックすると出てくるメニューの中に
「ロック」
があればそれを選択するだけですぐにロックされます。

「メニューに「ロック」がないんですけど!」

はい、なぜか「ロック」という項目がない場合があるようです。
表示/非表示の設定があるのかどうかは調べてないので分かりませんが、
以下を読めばどうでもよくなるかもしれません。

実はもっと簡単な方法があります。

Windowsキー + Lキー

を押せばロックされます。

私はキー配置を変更するツールで
Windowsキーを見ないで押せる位置に変更していますので
この方法に慣れればロックでマウスを使うことはありません。