【MySQL】ユーザに設定できる権限と権限レベルの一覧


ここでは、MySQLでユーザに設定できる権限と権限レベルの一覧を紹介しています。

ユーザに設定できる権限の一覧

ALL 全ての権限
ALTER ALTER TABLEの実行権限
ALTER ROUTINE ALTER PROCEDUREまたはALTER FUNCTION,DROP PROCEDUREまたはDROP FUNCTIONの実行権限
CREATE CREATE TABLE,CREATE DATABASEの実行権限
CREATE ROUTINE CREATE PROCEDUREまたはCREATE FUNCTIONの実行権限
CREATE TEMPORARY TABLES CREATE TEMPORARY TABLEの実行権限
CREATE USER CREATE USER,RENAME USER,DROP USER,REVOKE ALL PRIVILEGEの実行権限
CREATE VIEW CREATE VIEWの実行権限
DELETE DELETEの実行権限
DROP DROP TABLE,DROP DATABASEの実行権限
EVENT CREATE EVENTの実行権限
FILE SELECT INTO OUTFILEとLOAD DATA INFILEの実行権限
INDEX CREATE INDEX,DROP INDEXの実行権限
INSERT INSERTの実行権限
LOCK TABLES LOCK TABLESの実行権限
PROCESS SHOW PROCESSLISTの実行権限
RELOAD FLUSHの実行権限
REPLICATION CLIENT REPLICATION CLIENTとなる権限
REPLICATION SLAVE REPLICATION SLAVEとなる権限
SELECT SELECTの実行権限
SHOW DATABASES SHOW DATABASESの実行権限
SHOW VIEW SHOW CREATE VIEWの実行権限
SHUTDOWN SHUTDOWNの実行権限
SUPER CHANGE MASTER,KILL,START,SLAVE,STOP SLAVE,PURGE MASTER LOGS,SET GLOBAL,SET SQL_LOG_BINの実行権限
TRIGGER CREATE TRIGGER,DROP TRIGGERの実行権限
UPDATE UPDATEの実行権限
USAGE 権限のないユーザを作成するときに使用
GRANT OPTION WITH GRANT OPTION

権限レベルの一覧

レベル 設定方法 内容
Global ON *.* 全てのデータベースに対する設定
Database ON データベース名.* データベースごとの設定
Table ON データベース名.テーブル名 テーブルごとの設定
Column カラム名 ON データベース名.テーブル名 列ごとの設定
Routine ON データベース名.* ストアドプロシージャ、ストアドファンクションごとの設定