権限の付与: GRANT
主な権限の種類
コマンド | 内容 |
---|---|
all / ALL PRIVIREGES | 全ての権限を与える |
create | テーブルを作成する権限を付与する |
alter | テーブルを変更する権限を付与する |
drop | テーブルを削除する権限を付与する |
index | インデックスを作成/削除する権限を付与する |
その他 select,update,insert,delete,truncate…. | 各テーブル操作の権限を付与する |
GRANT文の書き方
GRANT 権限 ON レベル 対象(DB or Table) TO 対象ユーザー;
権限情報管理テーブル
テーブル名 | 説明 |
---|---|
user | ユーザーのグローバルレベルの権限とパスワードを管理するテーブル |
db | ユーザーのデータベースレベルの権限を管理するテーブル |
host | dbテーブルにホスト名が指定されていない場合に適用される権限を管理するためのテーブル |
tables_priv | ユーザーのテーブルレベルの権限を管理するテーブル |
columns_priv | ユーザーのフィールドレベルの権限を管理するテーブル |
例文
GRANT all hoge.* TO 'user'@"localhost" IDENTIFIED BY "password";
権限の削除
INSER権限のみ削除の場合
REVOKE INSERT ON *.* FROM 'user'@'localhost';
特定のユーザーからすべての権限を削除したい場合
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user@'localhost';
GRANT, REVOKE実行後に行うこと
以下のコマンドを叩く
FLUSH PRIVILEGES;
まとめ
結構、権限の削除で分からなくなっちゃうんですよね。
REVOKE コマンド覚えておいてください。
[amazonjs asin=”4797369450″ locale=”JP” title=”基礎からのMySQL 改訂版 (基礎からシリーズ)”]
[amazonjs asin=”4822239004″ locale=”JP” title=”すべてわかるデータベース大全2017(日経BPムック)”]