プログラマでありたい

おっさんになっても、プログラマでありつづけたい

MacBook AirにMySQLのインストール

 念願のMacBook Airが届いたので、早速開発用にセットアップ。
アプリケーションのインストール管理をどうするか悩んだのですが、次の順番で優先順位づけすることにしました。
提供元のDMG Archive > MacPorts > ソースコンパイル


 MySQLに関しては、MySQL公式ページからDMGアーカイブが落とせます。Snow Leopardなので10.6のものを選びます。色々バージョンがあって悩むのですが、Mac OS X ver. 10.6(x86, 64bit), DMG Archiveで良いでしょう。(64bitバージョンで良いかは議論があるようです。)
MySQL :: Download MySQL Community Server


 ダウンロード後に、パッケージファイル(mysql-x.x.x-osx10.6-x86_64.pkg,MySQLStartupItem.pkg)と環境設定ファイルをダブルクリックすれば終わりです。


 マニュアルによれば、起動方法は二種類あります。

$ sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
$ sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
sudo /usr/local/mysql/bin/mysqld_safe

 しかし、MySQLCOMの方が動きません。このコマンドの中身を見ていると、"/usr/local/mysql/support-files/mysql.server"を操作しているようです。ということで、直接mysql.serverで起動しようとしました。そうしたら次のようなエラーメッセージが出てきました。

/usr/local/mysql/support-files/mysql.server: line 256: my_print_defaults: command not found
Starting MySQL
ERROR! Couldn't find MySQL server (./bin/mysqld_safe)

前者のエラーはぱっと見て解りませんが、後者は明らかにパスの問題です。そこでmysql.serverの中身を見ると最初の方の行にパスの指定箇所がありました。ここを修正すれば直りました。

sudo vi /usr/local/mysql/support-files/mysql.server 

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data


 後はお好みで.bash_profile にでもパスを追加すれば使えるようになります。

export PATH=$PATH:/usr/local/mysql/bin


 ただ問題は未だ下記のようなエラーが出て、自動起動が出来ません。

"セキュリティ保護されていない起動項目"が無効になりました。
適切なセキュリティが設定されていないため、"/Library/StartupItems/MySQLCOM"は起動しませんでした。

Mac OS Xがらみの設定の問題だと思うので、もう少し調べようと思います。


2010/12/21 15:01 追記
/Library/StartupItems/MySQLCOM/のオーナー権限の問題だったようです。
MySQL Bugs: #57099: False permissions of MySQL StartupItem on MacOSX prevent launchd to start MySQLにあるように、ディレクトリのグループが"staff"に設定されてインストールされています。本来は、"wheel"である必要があるようです。ということで、下記のコマンドで治ります。

sudo chown -R root:wheel /Library/StartupItems/MySQLCOM/ 

うーん、ちょっとバグが多いなぁ。


それにしても、MacBook Air素晴らしすぎる。
CPUはちょっと非力かなと思ったのですが、ソリッドディスクのお陰で快適。
考えて見れば、CPUネックよりメモリネック、ディスクI/Oネックの方が多いですからね。

Apple MacBook Air 1.4GHz Core 2 Duo/11.6
アップル (2010-10-21)
売り上げランキング: 1928