ユーザ管理 - 5.7以降

ユーザ一覧確認

 SELECT User, Host FROM mysql.user;

現在ログインしているユーザを確認

 SELECT USER();

ユーザ作成

 CREATE USER 'taro'@'localhost' IDENTIFIED BY 'my_password';

アカウント名の指定

 CREATE USER 'taro'@'localhost'; # localhostのみ許可
 CREATE USER 'taro'@'%';         # '%'ですべてのホストを許可
 CREATE USER 'taro';             # 指定しない場合は'%'すべてのホストになる

空のパスワードでユーザ作成

 CREATE USER 'taro'@'localhost';
  • 上で空のパスワードのユーザ作成できるが、MySQLの設定でパスワードなしのユーザのログインを禁止していることが多い。その場合、その禁止設定を修正する必要がある

ユーザ権限設定

 GRANT ALL PRIVILEGES ON *.* TO 'taro'@'localhost'

管理者ユーザの権限設定

 GRANT ALL PRIVILEGES ON *.* TO 'taro'@'localhost' WITH GRANT OPTION
  • WITH GRANT OPTIONで他のユーザにGRANTできる
  • 一般ユーザには不要だが、管理者ユーザを作成する場合に設定する

ユーザ削除

 DROP USER 'taro'@'%';

https://dev.mysql.com/doc/refman/5.7/en/drop-user.html

パスワード設定

 ALTER USER 'taro'@'localhost' IDENTIFIED BY 'my_password';
 ALTER USER USER() IDENTIFIED BY 'my_password'              # 現在ログインしているユーザを指定

SET PASSWORD (廃止予定)

 SET PASSWORD FOR 'jeffrey'@'localhost' = 'auth_string';
 SET PASSWORD = 'auth_string';

PASSWORD() (廃止済み)

 SELECT PASSWORD('my_password');
  • バージョン5.7.6からPASSWORD()は廃止されている

参考


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2019-09-25 (水) 22:19:49