【MySQL】 MySQLにおけるユーザ / 権限に関するあれこれ

ユーザ作成/削除/パスワード変更

# ユーザ「user1」パスワード「password1」でユーザ作成
CREATE USER user1 IDENTIFIED BY 'password1';
CREATE USER user1@localhost IDENTIFIED BY 'password1';

# パスワード変更
SET PASSWORD FOR 'user1'@'127.0.0.1' = PASSWORD('password2');

# ユーザ削除
DROP USER 'user1'@'127.0.0.1';


登録されているユーザを確認

SELECT user, host FROM mysql.user;

注意

 * 「【User ID】@'%'」と「【User ID】@'localhost'」は別ユーザで別々のパスワードを持つことが可能

# 失敗談は以下の関連記事を参照のこと
http://blogs.yahoo.co.jp/dk521123/36200427.html

権限を付与

GRANT 与える権限 ON データベース名.テーブル名 TO ユーザー名 IDENTIFIED BY 'ユーザー名に対するパスワード' (WITH GRANT OPTION);

 ⁺ WITH GRANT OPTION(任意) : 他ユーザに同じアクセス権やロールを付与する

サンプル

GRANT ALL ON *.* TO test IDENTIFIED BY 'password';

GRANT ALL ON sampledb.* to 'user001'@'%' IDENTIFIED BY 'password';

GRANT ALL ON *.* TO username IDENTIFIED BY 'password' WITH GRANT OPTION;
リードオンリー のユーザを作成する
 * 以下の関連記事を参照のこと。
https://blogs.yahoo.co.jp/dk521123/37031713.html

権限を表示

SHOW GRANTS for 'ユーザ名'@'ホスト名';

サンプル

SHOW GRANTS for 'user'@'localhost';

関連記事

MySQL】【Aurora】リードオンリー のユーザを作成する

https://blogs.yahoo.co.jp/dk521123/37031713.html

アクセス制限 ~GRANT文 / REVOKE文~

http://blogs.yahoo.co.jp/dk521123/31450801.html

MySQL に関するトラブルシューティング

http://blogs.yahoo.co.jp/dk521123/36200427.html

Java から、 DB作成 / 権限付与 / 外部SQLファイル文実行 を行う

http://blogs.yahoo.co.jp/dk521123/36547646.html