2008年5月30日金曜日

MySQL5 パラメータファイル(my.cnf)のおき場所

MacPortsで +Serverをつけてインストールをしたが、パラメータファイルを読み込ませることができなくて悩んだ。

現場で使える MySQLを参照しながら設定をしていたのだけれど、この本にはmy.cnfのおき場所について書いてなかった。これはぜひ次の版では書いておいて欲しいな。

この書籍ではmysqld_safeコマンドの--defaults-fileオプションを指定する前提で書いてあるのだが、MacPortsでインストールして、自動起動の設定をすると自分でmysqld_safeを叩かないので--defaults-fileオプションを書きようが無く悩んだ。。。ネットで検索してもこんなことで誰も悩んでいない。自分だけなのかなぁ。

plistに何か書くのかな、と思い /Library/LaunchDaemons/org.macports.mysql5.plist をみても良く分からん、と悩んで色々探していると、答えは<MySQL 5.1 リファレンスマニュアル :: 3.3.2 オプションファイルの使用>にありました。

一番簡単なのは /etc/my.cnf に配置しろ! です。

リファレンスマニュアルによるとオプションを指定しない場合は
  1. /etc/my.cnf
  2. $DATADIR/my.cnf
    (データファイルが置いてある場所 うちだと/opt/local/var/db/mysql5)
  3. $BASEDIR/my.cnf
    (起動時の--basedirパラメータで指定される うちだと/opt/local)
  4. ~/.my.cnf
を見に行くとのこと。良くは読まなかったんだけど、mysql.serverのスクリプトの中身もそんな感じで書かれていた。
launchdが--datadir,--basedirオプションに何を指定しているかはpsコマンドで調べた。

またMac固有の問題にやられたなーと言う感じ。

で、本来やりたかったのは「デフォルトの文字セットがlatain1なのでutf8にかえたい」ということで以下のように設定しましたよっと。


どうやらskip-character-set-client-handshakeを指定しておけば、クライアントの文字セットは「つべこべ言わずにサーバのいうとおりにしろ!」と言うことができる様子です。

参考

0 件のコメント: