じぶんメモ

プログラミングのメモ、日常のメモとか。

MySQLでの権限設定

登録ユーザの確認

SELECT user, host FROM user;

権限の表示

SHOW GRANTS for 'hoge'@'%';

権限のつけ方

GRANT (許可したいコマンド) ON 許可するDB.* TO ユーザ名@'接続元ホスト' IDENTIFIED BY 'パスワード' WITH GRANT OPTION;

権限周りの処理も許可したい場合はWITH GRANT OPTIONを指定する。

  • とりあえず何でもできる管理者ユーザーを作りたい
-- %はワイルドカード
GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '' WITH GRANT OPTION;
  • IPの制限をかける場合
GRANT ALL ON *.* TO adminuser@'172.16.0.0/255.255.255.0' IDENTIFIED BY 'password' WITH GRANT OPTION;
  • DBの制限をかける場合
GRANT ALL ON testdatabase.* TO testuser@'%' IDENTIFIED BY 'password';
  • SELECT, INSERT, UPDATE, DELETEのみ許可する場合
GRANT SELECT,INSERT,UPDATE,DELETE ON testdatabase.* TO testuser@'%' IDENTIFIED BY 'password';