MySQLユーザー権限

MySQLデータベースのユーザー権限の簡単な紹介

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';

以下を実行することにより、単一ユーザーの特権を視覚化できます。

SHOW GRANTS FOR '<username>'@'localhost';

その他のデータベースチュートリアル: