ユーザーの作成 - SQL

ユーザーの作成

ユーザーを作成するには、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';