備忘録‎ > ‎

[mysql]ユーザ操作

ユーザ作成

GRANTコマンドで権限とパスワードを同時に設定する。

mysql> GRANT SELECT,INSERT,DELETE,UPDATE,CREATE,DROP,FILE,ALTER,INDEX ON *.* to

sample_user IDENTIFIED BY 'ABC123';
Query OK, 0 rows affected (0.00 sec)
 
自身のオプションを継承して、adminというユーザを作成し、パスワード'pass'を設定する。

mysql> GRANT ALL PRIVILEGES ON *.* TO admin@"192.168.0.%" IDENTIFIED BY 'pass' WITH GRANT OPTION;

 
"192.168.0.%"、"192.168.0.*"からのログオンを許すという意味。同PC内であれば、"localhost"と書く。
"*.*"はアクセスできるテーブルを指す。"データベース名.テーブル名" の形式。
"WITH GRANT OPTION"は、GRANT構文の実行権限を付与する意味。
"ALL PRIVILEGES"は全ての実行権限という意味、selectのみだったら"SELECT"と書く。
変更事項の即時反映
mysql> FLUSH PRIVILEGES;


ユーザ一覧

ユーザ情報もデータとして保存されているのでSELECT文を使って問い合わせる。
mysql> SELECT user, host, password FROM MYSQL.USER;
+-------+-----------+-------------------------------------------+
| user  | host      | password                                  |
+-------+-----------+-------------------------------------------+
| root  | localhost |                                           |
| root  | 127.0.0.1 |                                           |
| root  | ::1       |                                           |
| admin | localhost |                                           |
+-------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)

パスワードはハッシュ値なので紛失パスワードを知ることは出来ない。
ハッシュ値なので同じワードを使えば同じハッシュ値になる。
 
Comments