※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】 豪商 さんが、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