local by flywheelを使っていたら急にデータベース接続確率エラーが起きるようになってしまいました。
設定をいじったりWindowsUpdateをしたわけでもないのに急に接続できなくなったので困ってしまいました。
なんとか復旧することができたので、その手順について紹介していきます。
MySQLでエラーが起きている?
さっきまでは接続できていたのに、休憩をとって戻ってきたら急に接続できなくなっていました。
何か操作をしたわけではないので原因が全くわからないため、新しいサイトを追加してみることにしました。
そうしたら下のようなエラーメッセージが出て、サイトの追加(プロビジョニング)もできなくなっていたのです。
Uh-oh! Unable to provision site.
Error: Error: Command failed: C:\Users\(ユーザー)\AppData\Local\Programs\Local\resources\extraResources\lightning-services\mysql-8.0.16+3\bin\win64\bin\mysqld.exe --defaults-file=C:/Users/(ユーザー)/AppData/Roaming/Local/run/oM7YkPoy1/conf/mysql/my.cnf --initialize-insecure
(ユーザー)というのは、Windowsのユーザー(自分のアカウント)のことです。
とりあえずこのメッセージを検索で調べてみることに。
Visual C++のランタイムが原因?
検索したところlocal by flywheelの公式コミュニティでも同じエラーに関する投稿がありました。
投稿への返答を見るとMicrosoft Visual C++のランタイムを修復すれば良いようです。
これなら簡単に復旧できそう。
Microsoft Visual C++ ランタイムのダウンロードはこちら
投稿にあるようにランタイムをダウンロードして修復しました。
ところが同じエラーが出てプロビジョニングすることができません。(通常はこの手順でエラーが出なくなるようです。)
修復ではなく一度ランタイムをアンインストールして、再インストールしたのですが、やはり同じエラーが出ます。
VirtualBoxを最新にする
別の解決方法はないか検索したところ、VirtualBoxを最新にすれば良いという投稿を見つけました。
公式サイトから最新のVirtualBoxをダウンロードしてインストールしたのですが、やはり同じエラーが出ます。
local by flywheelを再インストール
他にも色々試したのですが上手くいかないため、最終手段として一度local by flywheelをアンインストールしてから再インストールすることにしました。
再インストールすれば上手くいくだろうと思っていたのですが、これでもまだエラーが出ます。
もうお手上げ状態です。
仕方ないのでVagrantでWordPressの環境を用意しようと思ったのですが、local by flywheelの手軽さに慣れてしまうとVagrantをいじるのは面倒に感じます。
そこでふと思いついたのが、レジストリにゴミが残っているのではないかということです。
CCleanerの無料版をダウンロードし、レジストリをクリーニングすることにしました。。
CCleaerで「Registry」を選び、「Scan for Issues」というボタンを押します。
レジストリをクリーニングする前に、バックアップを取っておきます。
そうすると問題のありそうな部分がピックアップされるので、「Review selected Issues」というボタンを押します。
するとレジストリをバックアップするか聞かれるので、「はい」を押してバックアップしておきます。
それから「Fix All Selected Issues」というボタンを押してクリーニングを行いました。(「Fix Issue」というボタンを押せば、1つずつ確認しながら行うこともできます。)
そうしたところプロビジョニングでき、データベース接続確立エラーが出なくなり、無事に復旧できました。