̃Gg[͂ĂȃubN}[Nɒlj

MySQL :: ユーザーの確認・作成、権限操作、パスワードの変更



備忘録
  • ユーザーの確認
  • ユーザーの作成
  • 権限の確認
  • 権限の付与
  • 権限の剥奪
  • パスワードの変更


ユーザーの確認

select User, Host, Password from mysql.user;

ユーザーの作成 (ALL PRIVILEGES)

  • mysql8 からは、以下の構文に変更
create user '<user_name>'@'localhost' identified by '<password> ;
 → <password> は、パスワードポリシーに準ずる

grant all privileges on `<db_prefix>_%`.* to '<user_name>'@'localhost' ;
 → 「`<db_prefix>_%`.* to」にて、指定プレフィックスのDBすべてが対象となる
デフォルトのパスワードポリシー
・パスワード長 8文字以上
・大文字小文字 1文字以上
・数字 1文字以上
・記号 1文字以上


  • GRANT 構文を実行できるユーザの作成 (すべての DB を操作できる)
GRANT ALL PRIVILEGES ON *.* TO hoge_user@'localhost' IDENTIFIED BY '<PASSWORD>' WITH GRANT OPTION;
flush privileges;
  • GRANT 構文を実行できるユーザの作成 (指定された DB のみ操作できる)
GRANT ALL PRIVILEGES ON <DB_NAME>.* TO hoge_user@'localhost' IDENTIFIED BY '<PASSWORD>' WITH GRANT OPTION;
flush privileges;
  • GRANT 構文を実行できないユーザの作成 (すべての DB を操作できる)
GRANT ALL PRIVILEGES ON *.* TO hoge_user@'localhost' IDENTIFIED BY '<PASSWORD>';
flush privileges;
  • GRANT 構文を実行できないユーザの作成 (指定された DB のみ操作できる)
GRANT ALL PRIVILEGES ON <DB_NAME>.* TO hoge_user@'localhost' IDENTIFIED BY '<PASSWORD>';
flush privileges;

権限の確認

show grants for hoge_user@'localhost';

権限の付与(GRANT all)

GRANT all ON hoge_db.* TO hoge_user@'localhost' IDENTIFIED BY '<PASSWORD>';
flush privileges;

権限の剥奪(REVOKE all)

REVOKE ALL ON hoge_db.* FROM hoge_user@'localhost';
flush privileges;

パスワードの変更

  • mysql8 からは、以下の構文に変更
ALTER USER '<user_name>@'localhost' identified BY '<password>' ;
  • mysql8 より前のバージョン
SET PASSWORD FOR hoge_user@'localhost'=PASSWORD('<PASSWORD>');





database/mysql/command/grant.txt