MySQL

[MySQL]権限の確認と付与

More than 3 years have passed since last update.

※sql文は、英語の大文字小文字の区別はない。


データベースの権限確認


登録されてるホストとユーザー名の確認

select user, host from mysql.user;


特定のユーザーの権限確認

show grants for 'ユーザー名'@'ホスト名'


権限の付与

GRANT 権限 ON レベル TO ユーザ IDENTIFIED BY PASSWORD '****'の形式で権限を付与できる。

このコマンドにより、既存でないユーザー名を書けば新たにユーザーが生成される。


  • GRANTコマンドで権限付与

  • 権限のところにはselectupdateinsertdelete、の組み合わせやallなどを記述。

  • レベルは以下の4種類


    • グローバルレベル:GRANT 権限 ON *.* TO user;

    • データベースレベル:GRANT 権限 ON db_name.* TO user;

    • テーブルレベル:GRANT 権限 ON db_name.table_name TO user;

    • カラムレベル:GRANT 権限 (カラム1, カラム2, ...) ON db_name.table_name TO user;



  • ユーザー名は、既存のユーザーなら権限上書き、既存でないユーザーなら新しくユーザーが生成されて権限付与。


  • IDENTIFIED BY PASSWORD '****'でパスワード設定

(例)

grant select, update on db_name.* to 'hoge_user'@'localhost' identified by password 'passwd';