概要
MySQL workbenchを使っている際に、クエリ内に間違えて制御コードが入ってしまい
急にメモリを使い尽くしてPCがフリーズした。
さらに困ったことに、問題のクエリが auto savedで保存されてしまったため
コネクションをオープンするたびに毎回フリーズという最悪な状況に・・・
環境
Windows 7 Home Premium SP1
MySQL Workbench 6.2.x CE
※[追記] 6.3.6 build 511CE (64bit) 版で発生しなくなっているのを確認しました。
原因
クエリ内に制御文字が入ってしまった。
MySQL Workbench上の表示では、ENQ
、文字コードは0x05
ENQ
←Ctrl+Eで入った模様
対処方法
ます、フリーズしてしまったらどうにかしてPCを再起動なりMySQL workbenchを落とすしかないです。
自分の場合は何とか再起動しました。
PCが正常に動くようになったら、workbenchを修正します。
auto saved にクエリが残っている限りおそらく復旧はムリなので該当の設定ファイルを探して削除しました。
auto saved 情報の保存場所
C:\Users\[ユーザー名]\AppData\Roaming\MySQL\Workbench\sql_workspaces\[コネクション名]
ディレクトリの中に、下記の形式でファイルがいくつか入っています。
{9B4C8145-D1CC-431D-8911-45B0A2C9A644}.info
{9B4C8145-D1CC-431D-8911-45B0A2C9A644}.scratch
.scratch のほうにクエリ文が文字列入っているので、テキストエディタでひとつずつ開き該当のクエリを探します。
見つかったら、 .info と .scratchをセットで削除します。
※探すのが面倒な場合は、ディレクトリ内のファイルを全て消してもOKでした。
MySQL workbenchを起動し正常にコネクトできることを確認して終了です。