よく忘れてしまうMYSQLのユーザー作成〜権限付与

0
117

基本的なところと思いますが、自分が数を行っていないためか(phpmyadminに頼ってしまいがち)、よく忘れてしまうので備忘の意味を含めて書きます。

DBを作成するコマンドは

CREATE ●●●●●(DB名);

次にユーザーを作成しますが、パスワードを生成するため

pwmake 64;

pwmakeは、OSのパスワード認証と関係が深いコマンドで、オプションを指定しなくてもOSのパスワードポリシーに従ったパスワードを生成できるらしいです。コマンドのパラメタにエントロピービット数(解読の難易度)を渡します。

生成したパスワードを使用してユーザーを作成します。

CREATE USER 'ユーザー名'@'%' identified by 'パスワード';

‘%’はホスト名のワイルドカード指定です。

生成されたユーザーを確認する、ユーザー一覧表示コマンドは

SELECT user, host FROM mysql.user;

次にユーザーに権限を付与します。今回はデータベース単位で全権限の場合です。

GRANT ALL PRIVILEGES ON DB名.* TO ユーザー名;

権限のレベルは

  • グローバルレベル
  • データベースレベル
  • テーブルレベル
  • カラムレベル
  • ルーチンレベル
  • プロキシユーザー権限

の6種類になります。静的な権限はいろいろ(CREATE,DROP,SELECT etc)あります。
(全部覚えていないです・・・。)