Macに手軽にMySQL, Apache, PHPを導入できる MAMP(XAMPのMac版みたいなものですね)。インストールはとても簡単なのですが、MySQLをうまく起動できないトラブルの修正メモ。結論としては、すでにパッケージでインストールしていたMySQLのmy.cnfが悪さをしていたのが原因。
症状としては、インストール後に、MAMPのコントロールパネルからサーバを起動しようとしても、Apacheは起動するけれど、MySQLは起動しないという状態。まずはエラーログを確認する。
% more /Applications/MAMP/logs/mysql_error_log [ERROR] /Applications/MAMP/Library/libexec/mysqld: unknown option '-skip-federated'
このエラーメッセージをググると以下の記事があった。
Installing Magento Commerce and MAMP on Leopard 10.5.6 - Russ Back
別途パッケージでインストールしていた古いMySQLのmy.cnfの設定ファイルが問題ということ。/etc/my.cnf の以下の設定をコメントアウト。
# Disable Federated by default # skip-federated
ちなみに、過去にインストールしたMySQLが、Mac起動時に自動で起動される場合は、/Library/StartupItems/MySQLCOM にあるMYSQL起動スクリプトを実行しないように、/etc/hostconfig を設定してあげればよい。
% sudo emacs /etc/hostconfig hostconfig内の MYSQLCOM=-YES- という記述を以下に変更 MYSQLCOM=-NO-
MySQL :: MySQL 5.1 リファレンスマニュアル :: 2.5 Mac OS X に MySQL をインストールする
以上で、MAMPからMySQLも起動できるようになった。あと、/Applications/MAMP/tmp/mysql/mysql.pid が関係するケースもあるそうです。

ブックマーク & Twitter & はてなスター
コメント