朝ビーを入れつつ

typo の動作確認中なんですが、DB との接続がうまくいっていない模様。コマンドでは接続の確認できてるんですが ...

$ mysql -u root
mysql> create database user1_typo ;
mysql> grant all on user1_typo.* to 'typo@localhost' identified by 'password' ;
mysql> exit
$ mysql -u root user1_typo < db/scheme.mysql.sql
$ mysql -u typo@localhost -ppassword user1.typo
mysql> exit
$

で DB 作成後、以下の config/database.yml で接続に行くと_Access denied for user: 'typo@localhost' (Using password: YES)_って言われるんだよなぁ。ちなみにコマンドラインからの接続は成功しとります。↑

$ cat config/database.yml
login: &login
  adapter: mysql
  host: localhost
#  username: typo@localhost
  username: typo
  password: password
  socket: /var/run/mysqld/mysqld.sock
  encoding: utf8

development:
  database: typo_dev
  <<: *login

test:
  database: typo_tests
  <<: *login

production:
  database: usre1_typo
  <<: *login
$

中間報告、以上。引き続きビールを入れながらデバグ作業実施。

== 追記 ==
username を root にして password 削除したら動きやがった (駄目
しかも encoding 行も削除。
動けばヨイ、という簡単なナニでもないので調べる。

== さらに追記 ==
エントリ見ててヒラメく。コマンドラインからは

$ mysql -u typo@localhost -ppassword user1_typo

で接続可能ってコトはこれでは如何?と試験

$cat config/database.yml
login: &login
  adapter: mysql
  username: typo@localhost
  password: password
  socket: /var/run/mysqld/mysqld.sock
#  encoding: utf8

development:
  database: typo_dev
  <<: *login

test:
  database: typo_tests
  <<: *login

production:
  database: user1_typo
  <<: *login

動きました。
次は encoding 方面の動作確認ッス。

== さらにさらに追記 ==
/etc/mysql/my.cnf 見たら

default-character-set=ujis

となっとりますた。これが原因かな。
大体目途が付いたので再度最初からリトライ。

買物に行かねば、らしいので帰宅後だな。

== しつこいが追記 ==
もしかしてワシって grant 文についてトンデモな誤解してたりする?

== ここでの追記はラスト ==
一応そうでもなかった模様。根拠としては↓
http://www.bitscope.co.jp/tep/MySQL/quickMySQL.html#tab:grant

== ラストと言いつつ追記 ==
utf8 なナニについてはくまくまなトコにエントリあり。備忘録として
http://wota.jp/ac/?date=20051226