【MySQL】ユーザー作成・権限付与コマンド

  • ユーザー作成
CREATE USER 'username'@'from_domain(ipaddress)' IDENTIFIED BY 'password';

例(ユーザー名:hoge@localhost パスワード:hogeのユーザーを登録する)

CREATE USER 'hoge'@'localhost' IDENTIFIED BY 'hoge';
  • 権限付与
GRANT 権限 ON レベル(対象DB or Table) TO 対象ユーザー;
  • 主な権限
    • all / ALL PRIVIREGES...全ての権限を与える
    • create...テーブルを作成する権限を付与する
    • alter...テーブルを変更する権限を付与する
    • drop...テーブルを削除する権限を付与する
    • index...インデックスを作成/削除する権限を付与する
    • select,update,insert,delete,truncate...各テーブル操作の権限を付与する

例(hoge@localhostというユーザーがhogeというパスワードでアクセスしてきたら、hogeというDB内の全てのリソースに全ての権限を与える)

GRANT ALL ON hoge.* TO hoge@localhost IDENTIFIED BY 'hoge';
  • 補足
    MySQL8.0からは未作成のユーザーに権限付与することは出来ない。 MySQL5.7まではGRANT文でユーザー作成も可能だったが、MySQL8.0で実行するとエラー(1064 (42000))となる。

参考