takenoko1977の日記

2011-04-25 MAMP の使用ではまった事

Apache + MySQL + PHP の環境を Mac で手軽に構築できるものに MAMP という物があるのですが、MySQL でデフォルトのキャラセットを utf8 に設定する方法ではまったのでメモ。

使用した MAMP のバージョンは 1.9.5

結論からいうと、


/Applications/MAMP/conf/ に MySQL の設定ファイル my.cnf を作成して、そこに

[mysqld]

skip-character-set-client-handshake

character-set-server = utf8

[mysql]

default-character-set=utf8

と書けば OK でした。

で、何が悪かったのかというと。。。。

はまった原因1 : 設定ファイルのパスが違う。

参考したサイトはことごとく /Applications/MAMP/db/mysql/ に置くと書いてあったが、いつからか /Applications/MAMP/conf/ に変更された模様。

MAMP を起動した後、ターミナルから

/Applications/MAMP/Library/bin/mysql --verbose --help

と入力すると、どこの設定ファイルを読むかが

Default options are read from the following files in the given order:

/etc/my.cnf /etc/mysql/my.cnf /Applications/MAMP/conf/my.cnf ~/.my.cnf

という感じで、表示される。

設定ファイルが読み込まれていないと感じたら、一度確認してみよう。


はまった原因2 :

web を検索すると my.cnf には

[mysqld]

default-character-set = utf8

skip-character-set-client-handshake

と書け。みたいな記述があるのでが、いつの時代からか mysqld のオプションから default-character-set というパラメータは削除された模様で、これを書いてしまうと mysqlサーバーが起動しなくなります。

MAMP の場合、エラーログは /Applications/MAMP/logs/mysql_error_log.err に出力されますので、mysql サーバが起動しない時は確認してみましょう。

kexkex 2011/06/29 21:42 MAMP1.9.6使用しています。
完全にはまっていたのですが、解決できました!ありがとうございます。

kazkaz 2011/08/14 03:27 いろいろなページに同じような方法が記載されているんですが、解決できなくて困っていました。ありがとうございます。

kkkkktakkkkkta 2012/02/02 09:46 とても参考になりました。

tmittertmitter 2012/02/07 23:31 ありがとうございます。
他のサイトで書かれている内容では解決できませんでしたが、こちらに書かれていた内容で問題解決しました!!

takenoko1977takenoko1977 2012/07/04 11:16 コメントが書ける事に今気がつきました、、、、


忘れっぽい自分用に向けてのメモだったのですが、皆様の参考になって良かったです!

MomoMomo 2012/10/25 21:41 参考になりました!