DB ユーザー周りのコマンドをまとめてみた
DB のユーザーの作成、確認、権限の付与などいつも使うときに忘れてしまうのでまとめてみる。
※ 下記コマンドは root ユーザーで実行する必要があるものがある(てかほとんどがそうだと思う)
※ MySQL5.5 で実行確認している
ユーザーに関するもの
- 登録されているユーザーの確認
SELECT Host, User FROM mysql.user;
- ユーザーの作成
CREATE USER user@host IDENTIFIED BY 'password';
- ユーザーのパスワードの変更
SET PASSWORD FOR user@host=password('password');
※ password() 関数で暗号化している
- ユーザーの削除
DELETE FROM mysql.user WHERE user='user';
権限に関するもの
- ユーザーの権限の確認
SHOW GRANTS FOR user@host;
- ユーザーに全権限を付与
GRANT ALL PRIVILEGES ON *.* TO user@host;
- ユーザーから全権限を剥奪
REVOKE ALL, GRANT OPTION FROM user@host;
- ユーザーに特定の権限を付与
GRANT SELECT, SHOW VIEW, TRIGGER, LOCK TABLES ON *.* TO user@host;
※ 付与した権限は、mysqldump するのに最低必要な権限
- ユーザーから一部の権限を剥奪
REVOKE SHOW VIEW, TRIGGER, LOCK TABLES ON *.* FROM user@host;
※ 特定の条件下だと mysqldump するには SELECT 権限だけよかったので他は剥奪というケースを想定