プロが教える店舗&オフィスのセキュリティ対策術

CentOS5.2, MySQL version: 5.0.45 を使用しています。
現状のユーザ権限は次のようになっています。
mysql> use mysql
Database changed
mysql> select host, user, select_priv, insert_priv, update_priv, delete_priv from user;
+-----------+---------+-------------+-------------+-------------+-------------+
| host | user | select_priv | insert_priv | update_priv | delete_priv |
+-----------+---------+-------------+-------------+-------------+-------------+
| localhost | root | Y | Y | Y | Y |
| abcd | taro | N | N | N | N |
+-----------+---------+-------------+-------------+-------------+-------------+

これを スーパーユーザで入り、
mysql> grant all privileges on DB.* to 'taro'@'abcd' identified by 'password' with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
として終了し、クライアントから接続しなおしましたが、taroの権限が Y になりません。
どうすれば Y にすることができるでしょうか?

A 回答 (1件)

> mysql> select host, user, select_priv, insert_priv, update_priv, delete_priv from user;



これは、グローバル権限

> mysql> select host, user, select_priv, insert_priv, update_priv, delete_priv from user;

こちらは、データベース権限

ですので、確認内容と設定内容が一致してません。
データベース権限を確認するには mysql.db テーブルを参照する。
グローバル権限を設定するにはデータベースを *.* で権限を付与する。
    • good
    • 0
この回答へのお礼

ご回答を契機にして調べました。なるほど、と納得です。
このようなことは不勉強で知りませんでした。奥が深いです。
ありがとうございました。
なお、ご回答の
>こちらは、データベース権限
は、
mysql> grant all privileges on DB.* to 'taro'@'abcd' identified by 'password' with grant option;
の方という理解でよろしいですよね。

お礼日時:2009/05/25 22:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!