Tech Racho エンジニアの「?」を「!」に。
  • 開発

Mac OS X LionでスクラッチからRails + Passenger + MySQL環境を構築する(その2:MySQLのインストール)

前回の記事で,XCodeとHomebrewのインストールまではできたので,次はMySQLのインストールをしてみます.


HomebrewMacPortsのようなパッケージマネージャで,RedHat系Linuxで言うyum, up2date,Debian系Linuxで言うaptのようなものです.
MacPortsと決定的に違うのは,MacPortsが全てのパッケージをPorts由来のものを1からコンパイルするのに対し,HomebrewはできるだけMac標準のコマンドを使うというところです.

例えば,MacPortsでソフトウェアをインストールすると,/opt/local/bin辺りに大量にソフトがインストールされます.
具体的には,OpenSSHなんかをPortsでインストールしていると,/opt/local/bin/sshにはMacPortsからインストールしたOpenSSHが,/usr/bin/sshにはMac OS Xに標準で入っているOpenSSHが重複してインストールされた状態になります.
これはApacheやらライブラリ群なども同じなので,MacPortsで開発環境を揃えると,たくさんの重複したプログラム(バージョンやコンパイルオプションは違う)ができてしまう事になります.

これだと容量のムダなので,HomebrewではできるだけMac OS Xに標準でインストールされているパッケージはそのまま使うという方針だそうで,その分コンパイルするプログラムの数も少なくなり,容量的にも有利というのが最近流行っている理由の様です.

Homebrewをコマンドラインから呼び出すときはbrewコマンドを使い,

$ brew search HOGEHOGE

でパッケージの検索,

$ brew info HOGEHOGE

でパッケージの詳細情報を得ることができます.

また,MacPortsではパッケージに対してオプションでVariantsを付けてインストールすることで(+HOGEHOGE),よく使うコンパイルオプションを設定することができましたが,Homebrewでは代わりにFormulaという設定ファイルを編集することで設定を行います.

$ brew edit HOGEHOGE

とやるとHOGEHOGEパッケージのFormulaを編集できます.FormulaはRubyのスクリプトなので,何となく編集出来る人は編集した後,

$ brew install HOGEHOGE

でインストールできます.

というわけで,MySQLをインストールするには,

$ brew install mysql
$ unset TMPDIR
$ mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

で,その後

$ mysql.server start

でMySQLdが起動します.
Mac OS X起動時に自動的に起動させたい場合は

$ mkdir -p ~/Library/LaunchAgents
$ cp /usr/local/Cellar/mysql/5.5.14/com.mysql.mysqld.plist ~/Library/LaunchAgents/
$ launchctl load -w ~/Library/LaunchAgents/com.mysql.mysqld.plist

とやっておけば良いです.
他にも,通常のサーバの様にdaemon専用のmysqlユーザーを作成して設定する方法なども,brew info mysqlすると見られます.

Homebrewを使ってみた感想ですが,MacPortsに比べてパッケージの数がまだ少ないという印象です.例えば,MacPortsを使っていたときはscreenのvertical-split版をインストールしていたのですが,Homebrewだと今のところデフォルトではscreenのFormulaがありません.
恐らくMac OS Xにはscreenがプリインストールされているのが原因だと思うのですが,最新の機能をどんどん使いたいというユーザにはHomebrewは向いていない(というかFormulaを探すor書くのが面倒)のかもしれません.
(もちろん,自分でFormulaを書けばインストールすることもできます→screen で縦分割したい

MySQLのインストールというよりもHomebrewの解説がメインになってしまいましたが,今回はここまでで.次はApacheの設定に入って行きます.多分.


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。