MAMPのMySQLアップグレードでエラーになるのを解消する

昨年末頃から、MAMPを起動するとMySQLをアップデートしろとアラートが出るようになりました。

 

慌ただしい年末にそんなことはしていられないので無視していたのですが、ようやく落ち着いてきたのでアップグレードしようと思ったら、一筋縄ではいかなかったのでメモとして残しておきます。

 

結論を急ぐ方のために、先に書いておくと、次のファイルに書かれているrootのパスワードを、正しいパスワードに変更してください!です。

 

・checkMysql.sh
・quickCheckMysqlUpgrade.sh
・repairMysql.sh

 

これがどこにあるのか・・・は、別に秘密にするわけではないですが、もしわからないようでしたら今後のためにもなるかと思いますので、念のためこの先を読み進んでいただいたほうがいいと思います。

 

さて、具体的には、以下のようなエラーが出ます。

f:id:wigwamania:20180109210137p:plain

メッセージの内容としては

Warning: Using a password on the command line interface can be insecure.
Looking for 'mysql' as: /Applications/MAMP/Library/bin/mysql
Looking for 'mysqlcheck' as: /Applications/MAMP/Library/bin/mysqlcheck
Error: Failed while fetching Server version! Could be due to unauthorized access.
FATAL ERROR: Upgrade failed 

コマンドラインでパスワードを使うのはセキュアじゃないよ・・・というような内容。

 

っていうか、MAMPが勝手にアップロードしようとして、勝手にアラート出しているんじゃん・・・と思いましたが、解決しなくてはいけません。

 

なんだかよくわかりませんが、まずはそれっぽいところを探ってみます。

想像するに、MAMP起動時にMySQLをアップグレードしようとしたのだけれど、そのアップグレードするコマンドラインにパスワードが書かれてしまっているか、もしくはパスワードが間違っているか・・・。

 

でも、そんな設定をした覚えは(当然のことながら)ない。

 

などと思いつつ、/Applications/MAMP/binへ行ってみると、checkMysql.shという怪しげなファイルがある。

 

中を覗いてみると・・・

 

ん〜、rootのパスワードが直書きされているのですね。

私はrootのパスワードを変更して使っていたので、これが原因のような気がしました。

 

で、これを書き換えたついでに、同じディレクトリにあるシェルスクリプトを調べてみたら、冒頭に書いた3つのファイルにもrootのパスワードが書かれていました。

 

ということで、これらも全部修正。

 

修正が済んだら、MAMPをいったん終了してから起動すると、もうメッセージは出ないはず。

 

っていうか、なんのメッセージもなく起動してしまったけれど、いつアップグレードしたんだ??

 

なんだかちょっと納得できませんが、とりあえずアラートは出なくなったので、ひとまずこれでOKとしておきます。