mysql.sockがデフォルトの場所に無い場合
2007年03月04日(日) 21:48
豪商さんが、DjangoでMySQLにつなげなくて困っている模様。
実のところ、MySQLはいろいろな問題をはらんでいて推奨はされていないんだけど、使ってる人が多いのでフォロー!
たとえば、MAMPなんか使ってMySQLをいれたりするとmysql.sockの場所がデフォルトと違っちゃう訳です。いつもlnをしてごまかしていましたが、困っている人がいると調べてみたくなります。
DjangoのMySQLバックエンドのソースコードを見るとsettings.DATABASE_HOSTが半角スラッシュで始まっている場合かつMySQLを使っている場合に、settings.DATABASE_HOSTをunix_socketの位置としてMySQLdbに設定をしているようです(MySQLdbのコンパイルオプションかと思ってMySQLdbをチェックしたけどMySQLdb的にはコネクションの引数で渡せるようなので、MySQLdbをゴニョゴニョし直す必要はありません)。
実際のところ、DATABASE_HOSTのドキュメントを見れば設定可能なことが書いてあるのですが、豪商さんにコメントしようとしたところ認証を求められてしまったのでエントリにしてみた次第です。
豪商さんは、sennaにも興味があるようなのでDjango勉強会 Disc3にいらっしゃると幸せになれると思いますぞw
