[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)

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

LEAVE A COMMENT