MAMPのMySQLが起動しないときにやること
わたしは普段はMacでMAMP、WindowsでXAMPPを使っているんですが、MAMPはシンプルすぎてたまにエッ…となることありますよね…笑
エラーログがパッと見ても、なかったり…
MAMPは終了するときにきちんと「サーバを停止」してから終了しないと、次に立ち上げたときに正常に動かないことがあります。
そのときの対処法を毎度ググってしまってるので、いつでも見れるようにここに記録します。
同じ現象が起こった人は試してみてください。
問題の現象
MAMPのMySQLが動かない。
いつものように右の起動アイコンをクリックして、PCパスワードを入れても、起動せず。
右上の「MySQL Server」が点灯しない=MySQLが起動していないことを意味しています。
当然、MAMP内で制作しているWPサイトは開けません。
この現象が起こる状況
MAMPを正常に終了しなかった場合、次にMAMPを起動しようとすると起こります。
具体的には、
・予期せぬシャットダウン(停電や電源が落ちた等)
・PCの強制終了
などなど、正常に終了するプロセスを踏まずにMAMPが落ちてしまった場合にほぼ毎回この現象に遭います。
こうなると、単純にMAMPやPCの再起動では復帰しません。
対処方法
MySQLを終了する
ターミナル(黒い画面のアレ)を起動し、MySQLを終了させるコマンドを打ち込みます。
この現象が起こる理由が、正常にMySQLが終了しなかったせいでプロセスが残っちゃってるからなんだそうです。それを断ち切ります。
$ killall -9 mysqld
これで直る場合もあるらしいけど、直った試しがないのでダメだったら次の項行きましょう!!
my.cnfを作成
一旦MAMPを終了します。
FinderでアプリケーションのMAMPディレクトリに入ります。
/Applications/MAMP/conf
の中に、
「my.cnf」というファイルを作成し、下記をまるまるコピー&ペーストして保存します。
[mysqld]
default-storage-engine = InnoDB
innodb
innodb_force_recovery = 1
これで改めてMAMPを起動します。
「MySQL Server」が点灯し、動きました!
MAMP内のWPサイトが開けることも確認してください。
無事起動できたあとは
my.cnfは無効化しときましょう
my.cnfが残っていると、WPを動かすときにエラーが起こったりすることがあります。
具体的には新規WPをインストールする際にエラーが起きました。
当初何が原因でローカルサーバーにWPがインストールできないのか、かなり焦ったんですが、よくよく記憶を呼び起こして考えたら、以前PCが落ちた際に上述の手順でmy.cnfを作成し、それをそのまま残していました。
もしかしてこれが原因?と、試しにmy.cnfを「_my.cnf」のようにリネームして無効にしたら、WPがインストールできるようになりました!
ということで、一旦my.cnfを作ってMAMPのMySQLが起動できるようになったら、「_my.cnf」とリネームして無効にしておきましょう。
my.cnf消しちゃダメ?
最初、「よーし解決解決」とmy.cnfを削除してたんですが、また同じ現象があったときに、また同じ手順を踏んで面倒な思いをしたので、学習しました。
ファイルは消さずにリネームして残しておけば、同じ現象に見舞われたときに元の「my.cnf」に名前を戻せば楽チンですね。
そして起動できたらまたリネームして無効にしておけばOKです。
参考サイト
この現象が起きた際に参照した記事です。
現在のところわたしは、本記事で書いたことで解決できていますが、MySQLではなくApacheが動かない場合や、本記事の方法では直らないケースもあるそうです。
その際には最悪MAMPの再インストールなどが必要になるので、停電とかでブチーーーンとイかれたときは本当に、いつもこれで直るといいなぁと思いながらビクビクしています…笑 いまんとこ大丈夫。