忘れないように記録しとこ

カバの樹

MAMP PRO でMySQLが起動できない時の対処法

はじめに

自宅の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時間分を損した気分です。

  • B!