GRANT ステートメントは、mysql でユーザーに権限を追加するために使用できます。構文は、「GRANT 権限タイプ ON 権限レベル値 TO ユーザー [IDENTIFIED BY 'password'] [WITH 句];」です。ここで、パラメータは「user」はユーザー アカウントを表し、形式は「'username'@'hostname'」です。
このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
MySQL では、GRANT ステートメントを使用してユーザーを承認し、権限を増やすことができます。
構文形式は次のとおりです:
GRANT priv_type [(column_list)] ON database.table TO user [IDENTIFIED BY 'password'] [WITH with_option [with_option]...]
その中に:
priv_type パラメータは権限のタイプを示します。
# columns_list パラメータは、権限が適用される列を示します。このパラメータが省略された場合、テーブル全体に適用されることを意味します。例:
GRANT ステートメントを使用して、パスワード testPwd を持つ新しいユーザー testUser を作成します。ユーザー testUser には、すべてのデータに対するクエリ権限と挿入権限があり、GRANT 権限が付与されています。
mysql> GRANT SELECT,INSERT ON *.* -> TO 'testUser'@'localhost' -> IDENTIFIED BY 'testPwd' -> WITH GRANT OPTION; Query OK, 0 rows affected, 1 warning (0.05 sec)
#拡張知識: 権限タイプの説明
1) データベース権限を付与する場合、 を次のように指定できます。次の値: 4) 最も効率的な権限はユーザー権限です。 ユーザー権限を付与する場合、 はデータベース権限を付与する場合のすべての値として指定できます。また、次の値も指定できます:
#2) テーブル権限を付与する場合、 を次の値として指定できます:
権限名
はユーザーテーブルのフィールドに対応します
説明
SELECT
Select_priv
は、SELECT ステートメントを使用して特定のデータベース内のすべてのテーブルとビューにアクセスする権限をユーザーに付与することを意味します。
INSERT
Insert_priv
INSERT ステートメントを使用して特定のデータベース内のすべてのテーブルにデータ行を追加する権限がユーザーに付与されていることを示します。
DELETE
Delete_priv
DELETE ステートメントを使用して、特定のデータベース内のすべてのテーブルからデータ行を削除する権限がユーザーに付与されていることを示します。
UPDATE
Update_priv
は、特定のデータベース内のすべてのデータ テーブルの値を更新するために UPDATE ステートメントを使用する権限をユーザーに付与することを意味します。
REFERENCES
References_priv
は、特定のデータベース内のテーブルを指す外部キーを作成する権限がユーザーに付与されていることを示します。
CREATE
Create_priv
CREATE TABLE ステートメントを使用して特定のデータベースに新しいテーブルを作成することをユーザーに許可する権限を表します。
ALTER
Alter_priv
ALTER TABLE ステートメントを使用して特定のデータベース内のすべてのデータ テーブルを変更する権限がユーザーに付与されていることを示します。
SHOW VIEW
Show_view_priv
特定のデータベース内の既存のビューのビュー定義を表示する権限がユーザーに付与されていることを示します。
CREATE ROUTINE
Create_routine_priv
は、特定のデータベースに対してストアド プロシージャとストアド関数を作成する権限をユーザーに付与することを意味します。
ALTER ROUTINE
Alter_routine_priv
は、データベース内の既存のストアド プロシージャとストアド関数を更新および削除する権限がユーザーに付与されていることを示します。
INDEX
Index_priv
は、特定のデータベース内のすべてのデータ テーブルのインデックスを定義および削除する権限がユーザーに付与されていることを示します。
DROP
Drop_priv
は、特定のデータベース内のすべてのテーブルとビューを削除する権限をユーザーに付与することを意味します。
CREATE TEMPORARY TABLES
Create_tmp_table_priv
特定のデータベースに一時テーブルを作成する権限がユーザーに付与されていることを示します。
CREATE VIEW
Create_view_priv
は、特定のデータベースに新しいビューを作成する権限をユーザーに付与することを意味します。
EXECUTE ROUTINE
Execute_priv
は、特定のデータベースのストアド プロシージャとストアド関数を呼び出す権限をユーザーに付与することを意味します。
LOCK TABLES
Lock_tables_priv
は、特定のデータベースの既存のデータ テーブルをロックする権限がユーザーに付与されていることを示します。
#ALL または ALL PRIVILEGES または SUPER
Super_priv は、上記のすべての権限/スーパー権限を意味します
権限名
は、 user table Field Description
SELECT
Select_priv SELECT ステートメントを使用して特定のテーブルにアクセスする権限をユーザーに付与します
INSERT
Insert_priv INSERT ステートメントを使用して特定のテーブルに行を追加する権限をユーザーに付与します
DELETE
Delete_priv DELETE ステートメントを使用して特定のテーブルからデータ行を削除する権限をユーザーに付与します
DROP
Drop_priv データ テーブルを削除する権限をユーザーに付与する
UPDATE
Update_priv ユーザーに、次を使用して特定のデータ テーブルを更新する権限を付与します。 UPDATE ステートメント 権限
ALTER
Alter_priv ALTER TABLE ステートメントを使用してデータ テーブルを変更する権限をユーザーに付与します REFERENCES
References_priv 特定のデータ テーブルを参照する外部キーを作成する権限をユーザーに付与します
CREATE
Create_priv 特定の名前を使用してデータ テーブルを作成する権限をユーザーに付与します
INDEX
Index_priv テーブルにデータテーブルを作成する権限をユーザーに付与します。インデックスで定義された権限
ALL または ALL PRIVILEGES または SUPER
#3) 列権限を付与する場合、Super_priv All権限名
]
以上がmysqlで権限を増やす方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。