MySQLデータベースのユーザーに権限(特権と呼ばれる)を付与する方法を見てみましょう
デフォルトでは、構文を使用して新しいMySQLユーザーを作成する場合
CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>'; ユーザーは多くを行うことができません。実際、何もできないと言えます。
データの変更はもちろん、既存のデータベースからデータを読み取ることもできません。また、新しいデータベースを作成することもできません。
ユーザーに何かをさせるには、権限を付与する必要があります それに。
GRANTを使用してこれを行うことができます コマンド。
GRANT <permission>を使用できます 、次の権限キーワードを使用します:
-
CREATE -
DROP -
DELETE -
INSERT -
SELECT -
UPDATE ALL PRIVILEGES
GRANT CREATE ON *.* TO '<username>'@'localhost'; 特定のデータベースに新しいテーブルを作成する権限をユーザーに付与します
GRANT CREATE ON <database>.* TO '<username>'@'localhost'; 特定のデータベースをユーザーに読み取る(クエリする)特権を与える
GRANT SELECT ON <database>.* TO '<username>'@'localhost'; GRANT SELECT ON <database>.<table> TO '<username>'@'localhost'; 特定のデータベースの行を挿入、更新、および削除する権限をユーザー
GRANT INSERT, UPDATE, DELETE ON <database>.* TO '<username>'@'localhost'; GRANT DROP ON <database>.* TO '<username>'@'localhost'; GRANT DROP ON *.* TO '<username>'@'localhost'; GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'localhost'; GRANT ALL PRIVILEGES ON *.* TO '<username>'@'localhost';
DROPを取り消す例 <database>の特権 :
REVOKE DROP ON <database>.* TO '<username>'@'localhost'; すべての特権を取り消すには、次を実行します:
REVOKE ALL PRIVILEGES ON *.* TO '<username>'@'localhost'; 次のコマンドを実行すると、1人のユーザーの権限を視覚化できます。
SHOW GRANTS FOR '<username>'@'localhost';