mysql:14600
From: <kozu@xxxxxxxxxx>
Date: Sat, 7 Jun 2008 02:42:22 +0900 (JST)
Subject: [mysql 14600] Re: 権限について
kozu です。 大変恥ずかしいのですが、一部大事な部分の記述ミスをしていたので、 改めて再送させていただきます。 何卒、よろしくお願い致します。 ―――――――――――――― 中富さん こんばんは、kozu です。 中富さんから頂いたアドバイスを踏まえ、 情報提供元である身内の情報を詳細に確認致しましたら、 新たな事が判明致しました。 (私自身が現象を正しく理解していませんでした^^;) 私の検証環境 CentOS5.1 に yum で mysql5.0 を入れて、 色々試した結果、以下の SQL を発行すると、 testuser は test_db2 を作成する事は出来ないが、 `test?db1` であれば作成できるというバグのような現象が起きています。 ① test_db1 を作成 create database test_db1; ② testuser を作成 insert into mysql.user (host,user,password) values ('%','testuser',PASSWORD('$password')); ③ 権限を付与 insert into mysql.db (host,db,user,Select_priv,Insert_priv,Update_priv, Delete_priv,Create_priv,Drop_priv,References_priv,Index_priv, Alter_priv,Create_tmp_table_priv,Lock_tables_priv) values ('%','test_db1','testuser','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); ④ testuser でログイン ⑤ test_db2 は作成する事が出来ないが、test?db1 であれば作成が出来てしまう。 なお、create database `test?db1` のように、 バッククオート付きでクエリーを発行するのがミソのようです。 ちなみに、GRANTを使った場合でも同様です。 私は以下の手順で現象を確認しました。 ① データベースを作成 create database `test_db1`; ② GRANT GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON test_db1.* TO testuser@localhost IDENTIFIED BY 'testtest'; ③ testuser でログイン ④ test_db2 は作成する事が出来ないが、test?db1 であれば作成が出来てしまう。 ○現象確認バージョン ・mysql-server-5.0.22-2.2.el5_1.1 (CentOS5.1 の RPM) ・mysql5.0.51a (ソースからインストール) ・mysql4.0.30 (ソースからインストール) まず、私の所でだけ起きている現象かどうかを確認したいのですが、 皆様の環境ではいかがでしょうか?? よろしくお願いします。
14594 2008-06-06 22:06 [<kozu@xxxxxxxxxx> ] 権限について 14595 2008-06-06 22:35 ┗[Katsutoshi Nakatomi ] 14596 2008-06-06 23:24 ┗[<kozu@xxxxxxxxxx> ] 14597 2008-06-06 23:47 ┗[Katsutoshi Nakatomi ] 14598 2008-06-07 00:42 ┗[<kozu@xxxxxxxxxx> ] 14599 2008-06-07 00:47 ┗[<kozu@xxxxxxxxxx> ] -> 14600 2008-06-07 02:42 ┗[<kozu@xxxxxxxxxx> ]