ユーザーの作成
ユーザーを作成するには、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;
ユーザーに付与されている権限を確認するには次のようにします。
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';