目次
はじめに
自宅のMacに開発環境を構築するのが面倒で、MAMPを使う事にしました。
リッチにMAMP PRO のライセンスを購入して、インストールをしたのですが、MySQLの起動時にエラーが発生して起動できない現象が発生しました。
今回の記事では、この不具合?の対処方法を書こうと思います。
環境
この記事は、以下の管理人の検証環境にて記事にしています。
Mac OS | Catalina 10.15.6 |
MAMP PRO | 5.7 |
MAMPでMySQLが起動しない
MAMP PROのインストールが完了して、ヒャッハー早速起動してみるぜ!と試したところ
ふぁ?!
上記の画像のようなアラートが表示されます。
何度かOn・Offを繰り返してみたのですが、解決せず・・・
横着せずにログを確認してみることにしました。
原因はエラーに書いてある
上記のアラートの「Opne log file」をクリックします。
すると以下のようなログが見つかります。
2020-07-29T05:46:08.548171Z 0 [Warning] Setting lower_case_table_names=2 because file system for /Library/Application Support/appsolute/MAMP PRO/db/mysql57/ is case insensitive 2020-07-29T05:46:08.548528Z 0 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
管理人は、英語が得意じゃ無いので、フワッとした直感的読了感で、直接の記述でrootユーザーを指定してMySQLを起動する必要があると感じました。
ええ、ほんとにGoogle翻訳にすらかけずに理解した感で進めていきます。
解決法
rootユーザーでMySQLを起動するには、my.cnfに記述してやれば良いはずです。
だって、MySQLのリファレンスにそう書いてあるんですから!
以下参照先
MAMPのmy.cnfは以下の手順で開けます。
「File」>「Edit Template」>「MySQL」>「5.7.26」
以下参考画像
リファレンスにしたがって、my.cnfにuser = root
を記述します。
その際に、[client][mysqld]の両方に記述します。
[client] user = root password = MAMP_root_password_MAMP #port = 9999 socket = /Applications/MAMP/tmp/mysql/mysql.sock # The MySQL server [mysqld] user = root #port = 9999 socket = /Applications/MAMP/tmp/mysql/mysql.sock key_buffer_size = 16M max_allowed_packet = 16M
起動してみる!!!
my.confへの記述が完了したら、後は起動するだけです。
いざ!!
オッケー、ナイス〜
無事起動ができました。
これでバッチリ仕事ができますね・・・
MAMPでMySQLが起動できないの!って方は一度試してみてください。
後々検索したら、がっつり同じ内容がstackoverflowで質問されてますね・・・
調査の1時間分を損した気分です。