sql >> データベース >  >> RDS >> 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';

    次のコマンドを実行すると、1人のユーザーの権限を視覚化できます。

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

    1. SQL Server 2016:インメモリOLTPの機能強化

    2. Docker内のホストのlocalhostとpostgresの違い

    3. 警告:mysql_fetch_array()は、パラメーター1がリソースであると想定しています。ブール値は次のように指定されます。

    4. GreenDAOは、テーブル間の複数の関係をサポートします