web-dev-qa-db-ja.com

MySQL DBのユーザーに複数のテーブルへのアクセスを許可するにはどうすればよいですか?

以下のように4つのテーブルを持つ「greats」という名前のmysql dbがあります。

+---------------------+
| Tables_in_greatstat |
+---------------------+
| log                 |
| sitedet1            |
| siteindex           |
| user                |
| whois1              |
+---------------------+

ここでは、mysqlユーザー「test」を作成することを決定し、db「greatstat」の特定のテーブルのみにアクセス権を与えたいと考えています。それで、MYSQLでユーザーに特定のテーブルパーマを付与する方法を知っていてもよいですか?

5
Mughil

最初にユーザーを作成します

GRANT USAGE ON *.* TO test@'localhost' IDENTIFIED BY 'whateverpassword';

GreatstatデータベースのsiteindexテーブルにSELECT権限のみを付与するには

GRANT SELECT ON greatstat.siteindex TO test@'localhost';

Greatstatデータベースのwhois1テーブルにSELECT特権のみを付与するには

GRANT SELECT ON greatstat.whois1 TO test@'localhost';

Greatstatデータベースのすべてのテーブルにすべての特権を付与するには

GRANT ALL PRIVILEGES ON greatstat.* TO test@'localhost';

GRANTコマンドの MySQLドキュメント をお読みください。

6
RolandoMySQLDBA