ユーザーの作成
ユーザーを作成するには、root でログインして次の SQL を実行します。
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; 上記の場合は、ユーザー名が「 newuser 」、パスワードが「 password 」として作成されます。
作成したユーザーにすべての権限を付与するには以下のようにします。
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost'; 権限を設定したら、すべての権限をリロードします。
FLUSH PRIVILEGES; ユーザー情報
ユーザー一覧を表示するには、次のようにします。
SELECT user, host FROM mysql.user; - User 列 → ユーザー名
- Host 列 → どのホストから接続できるか
ユーザーに付与されている権限を確認するには次のようにします。
SHOW GRANTS FOR newuser@localhost; 
「 GRANT USAGE ON ~ 」の USAGE は「 何も権限を持たない 」という意味です。
ユーザーの削除
ユーザーを削除するには、次のようにします。
DROP USER newuser@localhost; 権限の付与
権限のレベルは4種類あり、「 グローバル > データベース > テーブル > カラム 」の順に影響範囲が小さくなります。
グローバルレベル
GRANT 権限 ON *.* TO ユーザー名; データベースレベル
GRANT 権限 ON db_name.* TO ユーザー名; テーブルレベル
GRANT 権限 ON db_name.table_name TO ユーザー名; カラムレベル
GRANT 権限 (カラム名) ON db_name.table_name TO ユーザー名; 指定できる権限には以下のようなものがあります。
| 権限 | 内容 |
|---|---|
| INSERT | INSERT の使用が可能 |
| UPDATE | UPDATE の使用が可能 |
| SELECT | SELECT の使用が可能 |
| DELETE | DELETE の使用が可能 |
INSERT、UPDATE、SELECT、DELETE の権限を付与するには次のようにします。
GRANT INSERT, UPDATE, SELECT, DELETE ON mydb.users TO newuser@localhost;
/* mydb:データベース名、users:テーブル名 */ GRANT INSERT, UPDATE, SELECT, DELETE ON mydb.users TO newuser@localhost IDENTIFIED BY 'password';