Local by Flywheel データベース接続確立エラー発生!クローンバックアップ
投稿日:2019/11/29 更新:2019/11/29 コメント 0件 ワードプレス adminer, Local by Flywheel, PhpMyAdmin, インポート, エクスポート, エラー, データベース, ローカル開発環境Local by Flywheel(Version 3.3.0)でワードプレスのテーマを作成していたんですが、「データベース接続確率エラー」がでました。
データベース 壊れる
Local by Flywheelのこのエラーはリアルサイトをローカルに再現しようとした時によくみていたものなのでそれほど慌てることはないんですが、今回は普通に使っている時になったのでアレっと感じでちょっとヤバいかもと思いましたね。
サイトを開こうとすると502エラーが出ました。
「ADMINER(phpMyAdminのようなソフト)」からデータベースにアクセスすると…。
余談ですがいつの間にウィンドウの色を黒くすることが出来るようになっていました。カッコよくて気に入っているんですが、変更は左上のハンバーガーメニューの「Preferences」→「Appearance & Behavior」→「Dark」を選択すると暗くできます。(Version 3.3.0)
データベースのAdminerにログインすると「No such file or directory」と表示されてテーブルも何もなくなっていました。
インポートメニューとかも表示されていないのでこれは終わったなぁ~とLocal by Flywheelを閉じようとしたら以下のようなメッセージが表示されました。
Uh-oh! MySQL was unavailable when Local tried to back up f-stock's database. Please check the local-by-flywheel.log file for more details. データベースをバックアップする時にMySQLが使用できませんでした。 詳しくはログファイルを見てね。
logファイルはハンバーガーメニューの「Reveal Local’s Log」から確認できるんですが意味不明でサッパリでした。
ウィンドウをよく見ると右上の「EXPORTING DB」がローディング状態のままになっていました。Local by Flywheelはサイトを閉じる時にデータベースをエクスポート(保存)しているみたいなので急なシャットダウンで対応できなかったんだと思います。
実は数時間前にパソコンが瞬間的な停電でシャットダウンする現象が起こっていたんですがそのせいでデータベースをエクスポートできずに壊れてしまったようです。
データベースの復元
データベースのインポートしようとしてもそのようなメニューもなにもないのでお手上げです。調べたら復元できるかもしれませんが、正直最初から作成した方が早いですし、後々の不具合も起きにくいと思うのでサイトを新規作成して復元することにしました。
テーマフォルダと外部ソフト(Microsoft Expression Web 4)と連携させていたので保存フォルダが変わるとそちらのソフトの設定を一からやり直さないといけなかったりして面倒なのでサイトを削除して同一ドメインで作り直しました。
サイト削除時に「More site files to recycling bin」のチェックを入れたままだとサイトデータがすべて削除されるので残しておきたい場合はチェックを外します。ただ、確実にバックアップしておきたい場合はサイトを削除する前にエクスプローラーで「themeフォルダ」のコピーを取っておいた方が安心だと思います。
新規サイトを作成したら「themeフォルダ」を置き換えて無事に復元できました。
サイトのバックアップ(クローン作成)
Local by Flywheelでもデータベースのバックアップは取っていた方が良いのかも知れませんが、今回のようなトラブルではどうしようもないのでサイトのクローン(複製)を作成して保険を掛けておきました。
複製したいサイトの右メニューから「Clone」を選択します。
サイト名を決めて「CLONE SITE」をクリックすると自動で作成されます。
Local by Flywheelではこんな感じで簡単にサイトの複製ができます。
恐らくバグだと思いますが設定(New Site Defaults)でデフォルトのサイトパス(Sites Path)をCドライブじゃないところに指定していてもCドライブになっていました。
余談ですがLocal by Flywheelは起動してすぐサイトにアクセスしようとしてもできないことがよくあるのでそのような時は少し待つか、それでも起動しない場合はサイトを一度停止して再起動させると復活することが多いです。