東京のすみっこより愛をこめて。fummyです😊💡
初心者向けの超優良入門書『いきなりはじめるPHP』をMAMPでやっていて一番困ったことは、MAMPでは画面操作で「Apacheを起動させたままMySQLだけ停止することができない」ことです。
MAMP以外のPHPの開発環境の中には、画面からMySQLだけ停止できるものもあるんですよね(例えばXAMPP)。しかし、MAMPにはその機能はありません。なので、この点が、本書をMAMPでやる上での罠の一つだったりします。
とはいえ、なんとかMAMPでも方法がないかと調べた結果、画面操作ではなく、ターミナルの操作で、MAMPでも「MySQLだけを停止する」ことができました!
ですので、本記事では、その方法をご紹介したいと思います。
ちなみに、『いきなりはじめるPHP』に関しては、以下の記事で紹介していますので、ご興味ある方は参照いただければと思います。
わたしが勝手にMAMPを使ってやってしまったので、自力で解決しました。(自業自得です… ^^;)
SPONSORED LINK
MySQLだけ停止する目的
ちなみにですが、MySQLだけ停止させようとしている目的は、「Appachサーバは動作しているけど、MySQLサーバがダウンしたとき」を想定して、以下のような試験を行うことです。
今回、Webサイト上で行うお客様アンケートのシステムをPHPで実装しました。
このアンケートシステムでは、MySQLサーバがダウンしているときにWebサイト(アンケートページ)にアクセスしたユーザーに対して、「ただいま障害により大変ご迷惑をおかけしております」という専用のエラーメッセージをします。(『いきなりはじめるPHP』、p.144)
この機能が正常に動作しているか試験するために、アンケートページでアンケートの回答を入力して送信し、以下の3つの項目についての確認を行います。しかし、Apacheサーバまでダウンさせてしまうと、そもそもWebサイト(アンケートページ)自体が表示されなくなってしまうため、項目①の時点でつまずいてしまいます。
- Webサイト(アンケートページ)からアンケートに回答し、入力内容を送信できること。
- 「ただいま障害により大変ご迷惑をおかけしております」というお詫び画面が表示されること。
- データベース(MySQL)には送信した内容が登録されていないこと。
そのため、Apacheサーバは起動したまま、MySQLだけ停止させる必要があるのです。
SPONSORED LINK
なぜMAMPでは画面からMySQLだけ停止することができないのか?
MAMPでは画面からはMySQLだけ停止することができません。
画面を見ていただくとわかるのですが、「起動」ボタンがひとつしかありません。
MAMPの画面からは、ApacheもMySQLも両方同時に起動するか、同時に停止するか、どちらかしかないのです。
すでに指摘しましたが、両方停止させてしまうと、そもそもWebページが表示できなくなるため、アンケートページすら表示されなくなります。これだとアンケートに入力して送信することができませんから、試験になりません。
そのため、ターミナルを使って、MySQLのみ停止します。
SPONSORED LINK
MAMPでMySQLサーバだけを停止する具体的な方法
MAMPでMySQLサーバだけを停止したい場合は、MAMPの画面からではなく、ターミナルという黒い画面から実施します。ターミナルはプログラミング初心者には敬遠されがちですが、徐々に慣れていってほしいと思います!
手順1:ターミナルを起動する。
以下の手順で、ターミナルという黒い画面を呼び出します。
- commandキー + スペースキー → Spotlightを起動する。
- “terminal.app”と入力してEnter。 → terminal.appを検索して起動する
手順2:MAMPのMySQLのみ停止させる。
以下をターミナル画面に入力してEnterキーを押すと、MySQLだけ停止することができます。
$ /Applications/MAMP/bin/stopMysql.sh
コマンドをひとつ実行しただけですが、これでMAMPのMySQLが停止しているはずです。
MAMPの画面をみていただいて、Appachサーバのランプは点灯、MySQLのランプが消えていることが確認できれば、成功です!
SPONSORED LINK
おまけ:停止したMAMPのMySQLを再び起動する方法
いま、MAMPのMySQLだけ停止していて、Apacheは起動している状態になっていると思います。
再びMAMPのMySQLを起動したい場合は、MAMPの画面の「サーバを起動」ボタンを押すと、Apacheサーバ、MySQLサーバの両方が立ち上がります。
同時操作で、同時起動/停止なんですよね・・・。
SPONSORED LINK
おわりに

MAMPのMySQLだけを停止する方法について、お伝えしてきました。
無事に実行できましたでしょうか。
この記事が少しでもお役に立てたのであれば、嬉しく思います。
PHP関連は以下の記事もありますので、参考にしてみてください。
それでは、今日も素敵な一日を!
fummy