2009/09/10

MAMP Mysql 起動しない

Macに手軽にMySQL, Apache, PHPを導入できる MAMP。インストールはとても簡単なのですが、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-
以上で、MAMPからMySQLも起動できるようになった。あと、
/Applications/MAMP/tmp/mysql/mysql.pid が関係するケースもあるそうです。