MySQLの起動でハマる
仕事と同じ環境をMac Airに作ろうとしたら、ハマりました。しかもネットを検索しましたが、良い解決方法が無いのでメモしておきます。
まずは、MySQL 5.5.8のdmdをダウンロードしてインストール。
(実はHomeBrew版をインストールしたんだけど、システム環境設定から起動できないのでuninstall)
慣れたもので(半年ぐらいでインストールに慣れるのもどうかとは思うが)、以下の順番でインストール。
まあ、ここまでは良いのです。
しかし、システム環境設定->MySQLから起動しない。ずっと赤のstopのまま。いつも通りに動かない。何回インストールをしなおしてもダメ。
仕方がないので眠い目を擦りつつ、調査してみることに。
すると以下の事が分かりました。
CUIで起動する方法も当然ありました。/Library/StartupItems/MySQLCOM/MySQLCOMがそれ。
しかし、起動するとエラー。で、このファイルは何かというと単なるシェルスクリプト。
このファイルで何をしているかと言うと、最終的には、/usr/local/mysql/support-files/mysql.serverを呼んでいる
さらのこのファイルもシェルスクリプトとなっており、/usr/local/mysql/bin/mysqld_safeが呼ばれる
さらのこのファイルもシェルスクリプトとなっていて...って面倒くさい。これ以上は関係ないので無視します。
で、結論から言うと、/usr/local/mysql/support-files/mysql.serverを修正すれば良いことが分かりました。
mysqld_safeのパスを取得しているのですが、ここが正しく設定できていないために発生するようです。
対策ですが、mysql.serverの先頭行に
basedir= datadir=
という行があると思います。ここを修正します。
ここを以下のようにします。
basedir=/usr/local/mysql/ datadir=/usr/local/mysql/data
これで起動するはずです。
あと、/etc/my.cnf、~/.my.cnfに設定をしておけるようにmysql.serverの先頭コメントで書いていますが、自分の環境では~/.my.cnfに設定を書きましたがダメでした。
時間が無かったのでこの方法はこれ以上追っていません。
追記
/etc/my.cnfに設定したらうまく出来ました。
と思ったらだめでした。