LoginSignup
0
0

More than 3 years have passed since last update.

MySQL ユーザを作成して権限を設定・削除する

Posted at

目的

  • MySQLのユーザを作成して権限を設定する方法をまとめる

目的

  • MySQLのユーザ一覧を表示する方法をまとめる

前提条件

前提情報

  • 筆者はMacに立てたMySQLで本記事の内容を検証している。(rootユーザのパスワード入力を求められたら入力しEnterを押下する。)
  • 下記SQLを実行してMySQLのユーザ(ユーザ名: test パスワード: test0000)を予め作成した。

    create user test@localhost identified by 'test0000';
    

詳細

  1. 下記コマンドを実行してターミナルからMySQLにログインする。(rootユーザのパスワード入力を求められたら入力しEnterを押下する。)

    $ mysql -u root -p
    
  2. 下記SQLを実行してtestユーザの権限を確認する。(testユーザは作成直後であり、権限系の設定は何も行っていない。)

    show grants for test@localhost;
    
  3. 下記のように表示された。これはグローバルの設定でなんの権限も無いことを表している。ログインする事ができるだけ。これだとtestユーザでログイン後にshow database;すら実行権限がない。

    +------------------------------------------+
    | Grants for test@localhost                |
    +------------------------------------------+
    | GRANT USAGE ON *.* TO `test`@`localhost` |
    +------------------------------------------+
    

すべての権限を付与

  • 下記SQLを実行して権限を付与する。

    grant all on *.* to test@localhost;
    

データベースの作成、テーブルの作成を行うことのできる権限の付与

  • 下記SQLを実行して権限を付与する。

    grant create on *.* to test@localhost;
    

指定データベース内だけテーブルの作成を行うことのできる権限の付与

  • 下記SQLを実行して権限を付与する。

    grant create on データベース名.* to test@localhost;
    

指定データベース内だけselect句を実行することのできる権限の付与

  • 下記SQLを実行して権限を付与する。

    grant select on データベース名.* to test@localhost;
    

権限を削除

  • 下記SQLを実行して権限を削除する。

    revoke 権限内容 from ユーザ名@ホスト;
    
  • たとえはlocalhostのtestユーザが持っているcreate on *.*の権限を削除したいときは下記SQLを実行する。

    revoke create on *.* from test@localhost
    

その他

  1. 更に詳しい権限の設定は参考文献先に記載されている。

参考文献

0
0
0

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
  3. You can use dark theme
What you can do with signing up
0
0