アカウントに権限を付与します。
GRANT
priv_type [(column_list)]
[, priv_type [(column_list)]] ...
ON priv_level
TO user [auth_option]
[WITH {GRANT OPTION}]必須パラメーター
| Parameter | Description |
|---|---|
priv_type | 付与する権限の種類です。サポートされている権限タイプの完全な一覧については、「権限モデル」をご参照ください。 |
priv_level | 権限が適用される範囲です。有効な値は、*.*(クラスターレベル)、db_name.*(データベースレベル)、db_name.table_name または table_name(テーブルレベル)です。 |
オプションパラメーター
| Parameter | Description |
|---|---|
column_list | カラム名のリストです。priv_type が SELECT の場合にのみ適用され、SELECT 権限を指定されたカラムに限定します。 |
WITH GRANT OPTION | 権限を受け取ったアカウントが、他のアカウントに同じ権限をさらに付与できるようにします。 |
注意事項
GRANT 文を実行して他のアカウントに権限を付与するには、そのアカウントが GRANT OPTION 権限を持っている必要があります。
使用例
クラスターレベルの権限付与
account2 にクラスターレベルの all 権限を付与します。
GRANT all ON *.* TO 'account2';これにより、account2 はクラスター全体に対してすべての権限を持つようになります。
新規アカウントにクラスターレベルのデータ処理権限を付与します。
GRANT insert,select,update,delete on *.* to 'test'@'%' identified by 'Testpassword1';これにより、アカウント test が作成され、クラスターレベルで INSERT、SELECT、UPDATE、DELETE 権限が付与されます。
データベースレベルの権限付与
account3 にデータベースレベルの all 権限を付与します。
GRANT all ON adb_demo.* TO 'account3';これにより、account3 は adb_demo データベースに対してすべての権限を持つようになります。
新規アカウントにデータベースレベルのデータ処理権限を付与します。
GRANT insert,select,update,delete on adb_demo.* to 'test123' identified by 'Testpassword123';これにより、アカウント test123 が作成され、adb_demo データベースに対して INSERT、SELECT、UPDATE、DELETE 権限が付与されます。
カラムレベルの権限付与
新規アカウントに特定のカラムに対する SELECT 権限を付与します。
GRANT select (customer_id, sex) ON customer TO 'test321' identified by 'Testpassword321';これにより、アカウント test321 が作成され、customer テーブルの customer_id カラムおよび sex カラムに限定して SELECT アクセスが許可されます。