mysql の権限の与え方がやたらと複雑でややこしい。
かなり、はまってしまった。
やっかいなのは user1@”” というようなホスト名の設定されてい
ないユーザの権限。user1@localhost とかだと簡単なのだが…
自分が認識したのだと、以下のような感じ
mysql.user < = *.* (db と table) 全体の定義
mysql.db <= user host db の関連性を考慮した定義
mysql.host <= mysql.db で host が空の場合参照される。
権限の確認は、以下のコマンドで確認可能だが、host が空の場合
は、直接 mysql.host を参照しないと詳細がワカランという...
ホスト名有りの場合
mysql> show grants for user1@localhost;
ホスト名が定義されていない場合
mysql> show grants for user1@””;
+
mysql> select * from mysql.host \G;
参考 URL
http://dev.mysql.com/doc/refman/5.1/ja/connection-access.html
http://dev.mysql.com/doc/refman/4.1/ja/request-access.html
http://wiki.zope.jp/MySQLAdmUserDb
http://abe-log.cocolog-nifty.com/blog/2008/08/mysql_e6b2.html