0

mySQL5.1 on Mac

macOS X(10.6)にphp+apache+mySQLで開発環境を整えてみた。
ここ数年の自分の開発環境というのは、linuxサーバーにcodaでつなげてリモートで開発するような形でした。
ソーシャルアプリだとgadget.xmlを外部からアクセスできる場所に置いておく必要があるのでこれが一番良かったりしたのですが、最近は少しソーシャルアプリから離れつつあるということで開発環境を改めてみました。
といって単に普段使ってるmacを開発環境にしただけなんだけど、実はこのスタイルは初めて。
本番環境はcentOSかfedoraなので、それと違う環境で開発するというのが二度手間になる部分(ソフトのインストールとかpathの設定とか)があるのではないかと躊躇してたけど、実際インストールが完了して開発する事になってもそんな気にする事態は今の所発生していません。

phpとapacheは元々入ってるのでそれをそのまま使います。
mySQLはmac portsから入れました。昔いれたmysql5.0の残骸が残ってたのでこの通りやっても環境によってはうまくインストールされないかもしれません。
ログがなくなってしまったので覚えてる限りです。

ネット上によくあるインストールログのようにするとserverの方が入りません。
# sudo port install mysql5 +server

このコマンドでいれてと親切にでてきたのでそのまま実行します。
# sudo port install mysql5-server

以前5.0が入ってたせいかactivateしろみたいな事がでたのでactivateする。
# sudo port -f activate mysql5-server

面倒なのでmacごと再起動。
# mysql5 -u root
とりあえず動いた。たぶんmysql5.0の残骸のお陰。

# ps aux | grep mysql
_mysql 1463 0.0 0.5 2518252 19688 ?? S 5:57PM 0:00.08 /opt/local/libexec/mysqld --basedir=/opt/local --datadir=/opt/local/var/db/mysql5 --user=_mysql --log-error=/opt/local/var/db/mysql5/aoki-takashi-no-iMac.local.err --pid-file=/opt/local/var/db/mysql5/aoki-takashi-no-iMac.local.pid --socket=/opt/local/var/run/mysql5/mysqld.sock --port=3306
root 1365 0.0 0.0 2435548 784 ?? S 5:57PM 0:00.02 /bin/sh /opt/local/lib/mysql5/bin/mysqld_safe --datadir=/opt/local/var/db/mysql5 --pid-file=/opt/local/var/db/mysql5/aoki-takashi-no-iMac.local.pid
root 1356 0.0 0.0 2446916 1020 ?? Ss 5:57PM 0:00.00 /opt/local/bin/daemondo --label=mysql5 --start-cmd /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper start ; --stop-cmd /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop ; --restart-cmd /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper restart ; --pid=none

確かに動いた。親切にも引数の説明がされてる。
# sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper restart
Shutting down MySQL
... SUCCESS!
Starting MySQL
. SUCCESS!

ちゃんと再起動される。

文字コードをUTF8に変えようと思ったけど、my.cnfがない。
mySQLのページで親切に説明されてる方がいたので参考にさせもらいました。
(このmySQLのページのローカライズはなんでこんな中途半端なんだろうか)

# cd /opt/local/var/macports/software/mysql5/5.1.53_0/opt/local/share/mysql5/mysql/
sudo cp my-medium.cnf /etc/my.cnf

my.cnfを編集する
[mysqld]
max_allowed_packet=16MB
default-character-set=utf8
skip-character-set-client-handshake
 
sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper restart

これで無事UTF8で動くようになりました。