(rootユーザのみでも対応可能であるため、追加しなくても良い)
GRANT ALL PRIVILEGES ON *.* TO superuser@localhost IDENTIFIED BY 'password' WITH GRANT OPTION; FLUSH PRIVILEGES;
上記コマンドを実行するとユーザ名が「superuser」、パスワードが「password」、全てのDBに対してアクセス可能であり、全権限(CREATE、ALTER、SELECT、INSERT等)を持ち、権限付与を行える権限ユーザが作成されます。
【付与可能な権限】
| 権限 | 権限内容 | 権限内容 | ||||
|---|---|---|---|---|---|---|
| GLOBAL | DB | TABLE | COLUMN | ROUTINE | ||
| ALL [PRIVILEGES] | GRANT OPTION以外の全権限 | ○ | ○ | ○ | × | × |
| ALTER | ALTER TABLEの使用権限 | ○ | ○ | ○ | × | × |
| ALTER ROUTINE | ストアドルーチンの変更、ドロップ権限 | ○ | ○ | × | × | × |
| CREATE | CREATE TABLEの使用権限 | ○ | ○ | ○ | × | × |
| CREATE ROUTINE | ストアドルーチンの作成権限 | ○ | ○ | × | × | × |
| CREATE TEMPORARY TABLES | 一時テーブルの作成権限 | ○ | ○ | × | × | × |
| CREATE USER | ユーザの作成、変更、ドロップ権限、ユーザの権限変更の権限 | ○ | × | × | × | × |
| CREATE VIEW | VIEWの作成権限 | ○ | ○ | ○ | × | × |
| DELETE | 削除権限 | ○ | ○ | ○ | × | × |
| DROP | テーブルのDROP権限 | ○ | ○ | ○ | × | × |
| EVENT | イベントスケジューラのイベント作成権限 | ○ | ○ | × | × | × |
| EXECUTE | ストアドルーチンの実行権限 | ○ | × | × | × | × |
| FILE | FILEの読み書き権限(入出力) | ○ | × | × | × | × |
| INDEX | INDEXの作成、ドロップ権限 | ○ | ○ | ○ | × | × |
| INSERT | データの登録権限 | ○ | ○ | ○ | ○ | × |
| LOCK TABLES | SELECT権限を持つテーブルのLOCK権限 | ○ | ○ | × | × | × |
| PROCESS | SHOW FULL PROCESSLISTの使用権限 | ○ | × | × | × | × |
| REFERENCES | 未使用 | ○ | ○ | ○ | ○ | × |
| RELOAD | FLUSHの実行権限 | ○ | × | × | × | × |
| REPLICATION CLIENT | SHOW MASTER STATUS / SHOW SLAVE STATUSの実行権限 | ○ | × | × | × | × |
| REPLICATION SLAVE | レプリケーションのスレーブとしての動作権限 | ○ | × | × | × | × |
| SELECT | SELECT権限 | ○ | ○ | ○ | ○ | × |
| SHOW DATABASES | SHOW DATABASESの実行権限 | ○ | × | × | × | × |
| SHOW VIEW | SHOW CREATE VIEWの実行権限 | ○ | ○ | ○ | × | × |
| SHUTDOWN | mysqladmin shutdownの実行権限 | ○ | × | × | × | × |
| SUPER | CHANGE MASTER / KILL / PURGE MASTER LOGS / SET GLOBALの実行権限 | ○ | × | × | × | × |
| TRIGGER | トリガの作成、ドロップの実行権限 | ○ | ○ | ○ | × | × |
| UPDATE | UPDATEの実行権限 | ○ | × | × | × | × |
| USAGE | 権限なし | ○ | × | × | × | × |
| GRANT OPTION | 権限付与実行権限 | ○ | ○ | ○ | × | × |
- *.*:全てのDB(1つ目の*がDB名、2つ目の*がテーブル名)
- WITH GRANT OPTION:GRANT構文の実行権限(権限を与えるコマンド)
- 「FLUSH PRIVILEGES;」はGRANT構文を実行した後に必ず実行します。
次回は、DBの作成方法等について、記載します。
WEBアプリケーション関連 人気連載リンク
データベースの基礎が学べるSQL基礎講座
SQL基礎 連載
より実践的なWEBアプリ開発講座!Bootstrap活用を学ぶなら・・
魁!小野の塾 連載