search
LoginSignup
574

More than 5 years have passed since last update.

posted at

updated at

ユーザ権限の確認・追加

しょっちゅう忘れるのでメモ。

mysqlに切り替え

USE mysql

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

SELECT user, host FROM user;

権限を表示

SHOW GRANTS for 'hoge'@'%';

ユーザを作成

CREATE USER user_name;
CREATE USER user_name IDENTIFIED BY [PASSWORD] 'password';

※ユーザ指定の書式例
user_name@host_name

※ワイルドカードをホストに使うときはシングルクォートでくくる
user_name@'%'
'username'@'192.168.128.%'

権限付与

GRANT ALL PRIVILEGES ON `DB名`.テーブル TO 'ユーザ名'@'ホスト名';
GRANT SELECT,UPDATE,INSERT,DELETE ON `DB名`.テーブル TO 'ユーザ名'@'ホスト名';

など

権限の反映

FLUSH PRIVILEGES;

※ご指摘いただき、公式ドキュメントを確認したところ、下記のような記載がありましたので、
この手順で権限を付与した場合、FLUSH PRIVILEGES;は実行する必要が無いようです。

GRANT, REVOKE, or SET PASSWORD などのステートメントを使用して、間接的に権限テーブルを変更する場合は、サーバがこれらの変更を認識し、その変更があった直後に権限テーブルをメモリへリロードします。

INSERT、UPDATE、DELETE などのステートメントを使用して、直接に権限テーブルを変更する場合は、サーバを再起動するか、またはテーブルのリロードを行なうまでその権限チェックは施行しません。手動で権限テーブルをリロードするには、FLUSH PRIVILEGES ステートメントを発行するか、mysqladmin flush-privileges または mysqladmin reload コマンドを実行します。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
574