macportsからHomebrewに乗り換えてMySQL5.1をインストールするまでの流れ
macportsで入れたアプリをlaunchctlからアンロードする
$ sudo launchctl list | grep port 79 - org.macports.mysql5 80 - org.macports.apache2
macportsで作られたplistは以下のディレクトリにある
- /opt/local/etc/LaunchDaemons
アンロード
$ sudo launchctl unload ./org.macports.apache2/org.macports.apache2.plist $ sudo launchctl unload ./org.macports.mysql5/org.macports.mysql5.plist
Homebrewのインストール
$ ruby -e "$(curl -fsSkL https://raw.github.com/mxcl/homebrew/go)"
- オフィシャルだと、curl先が、raw.github.com だけど、これだと繋がらなかったので https://raw.github.com に変更
Xcodeコマンドラインツールのインストール
インストール時に入れろと警告が出たのでインストール
- https://developer.apple.com/downloads/index.action
- 最新版だと、Xcodeの中からダウンロードできたらしい
Xcodeのアップデート
その後こっちも警告が出たのでAppStoreから最新のを取得
/etc/path の修正
ローカルに入っているアプリの方が、Homebrewより優先されるので、/etc/pathを以下のように修正
- Homebrewの/usr/local/binを先頭にする
$ cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
.zshrcを修正してもできる
gitのインストール
Homebrewのシステムでgitを使っているので絶対に必要
$ brew install git
Homebrewの更新
$ brew update
MySQL5.1のインストール
#標準だと5.5系がインストールされるので、他のバージョンを入れるformulaを追加 $ brew tap homebrew/versions # MySQL5.1をインストール $ brew install mysql51
この後、インストール時の説明にしたがって、launchctlをロードするが
そのままだと、手動でMySQLを終了できなくなるので、.plistファイルを編集する必要がある
# $ mkdir -p ~/Library/LaunchAgents $ cp /usr/local/Cellar/mysql51/5.1.67/com.mysql.mysqld.plist ~/Library/LaunchAgents/ $ launchctl load -w ~/Library/LaunchAgents/com.mysql.mysqld.plist $ launchctl list | grep sql - 1 com.mysql.mysqld # 初回設定 $ mysql_install_db --user=mysql --tmpdir=/tmp # ルートパスワードの設定 $ /usr/local/Cellar/mysql51/5.1.67/bin/mysqladmin -u root password '*****' # ログインしてみる $ mysql -u root -p
- tapは、formulaを追加するコマンド
- いろんなサイトで、MySQL5.1を入れるときは、「brew install https://raw.github.com/adamv/homebrew-alt/master/versions/mysql51.rb」とあるけど、今は404になっているので使えない
- オフィシャル側で用意してくれているのをtapする
- brew versionsで出てくるMySQL5.1.56は、取得先にファイルが無いためにエラーになるので使わない
ログを出すようにする
$ mkdir /var/log/mysql $ sudo chown kasei_san /var/log/mysql $ vim /usr/local/var/mysql/my.cnf
[mysqld] log-error=/var/log/mysql/error.log log=/var/log/mysql/query.log
ログローテーションは、newsyslogでできるらしい。そのうちやる?
その他メモ
再起動
mysql.server restart
my.cnfの場所
/usr/local/var/mysql/my.cnf
クライアント起動時に特定のデータベースにアクセス
$ mysql -u root -p -D test
参考
- 本家
- いろんなバージョンのformulaが置いてある所
- Homebrew解説
- tapについて
- PATHの話
そんなですー