ユーザーの作成
ユーザーを作成するには、root でログインして次の SQL を実行します。
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
上記の場合は、ユーザー名が「 newuser 」、パスワードが「 password 」として作成されます。
作成したユーザーにすべての権限を付与するには以下のようにします。
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
権限を設定したら、すべての権限をリロードします。
ユーザー情報
ユーザー一覧を表示するには、次のようにします。
SELECT user, host FROM mysql.user;
ユーザーに付与されている権限を確認するには次のようにします。
SHOW GRANTS FOR newuser@localhost;
「 GRANT USAGE ON ~ 」の USAGE は「 何も権限を持たない 」という意味です。
権限の付与
権限のレベルは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';