MySQL資料一覧

ユーザを追加する

2007/12/23更新

対応バージョン: 5.0.51

MySQLのユーザ(アカウント)はCREATE USERやGRANTにて行うのが一般的である。

ここでは例としてデータベースにアクセスする権限によって3種類のユーザを作成する。

super

localhost及び任意のホスト(%)からでもサーバに接続できる完全なスーパーユーザ。

パスワードあり
接続元となるホスト(localhost, %)毎に複数のユーザを作成する必要あり
mysql> GRANT ALL PRIVILEGES ON *.* TO 'super'@'localhost'
    -> IDENTIFIED BY '<パスワード>' WITH GRANT OPTION;

mysql> GRANT ALL PRIVILEGES ON *.* TO 'super'@'%'
    -> IDENTIFIED BY '<パスワード>' WITH GRANT OPTION;

mysql> SELECT user,password,host FROM user WHERE user = 'super';
+-------+-------------------------------------------+-----------+
| user  | password                                  | host      |
+-------+-------------------------------------------+-----------+
| super | *0D8825DC371A083787E8919946F4FFDECE2F4DDF | localhost | 
| super | *80E73635CAEDFEE27398D5CBCBAB02EB88BD3C9B | %         | 
+-------+-------------------------------------------+-----------+

admin

localhostからのみ接続できる管理者ユーザ。

パスワードあり
管理権限は「RELOAD」と「PROCESS」

この権限はmysqladmin reload、mysqladmin refresh、mysqladmin flush-xxx、mysqladmin processlistといった管理系のコマンドを実行できる。

mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost'
    -> IDENTIFIED BY '<パスワード>' WITH GRANT OPTION;

mysql> SELECT user,password,host FROM user WHERE user = 'admin';
+-------+-------------------------------------------+-----------+
| user  | password                                  | host      |
+-------+-------------------------------------------+-----------+
| admin | *C20003C6C9FA015E80D75D36F54C4450D98F7828 | localhost | 
+-------+-------------------------------------------+-----------+

guest

localhostからのみ接続できるゲストユーザ。

パスワードなし
管理権限は「USAGE」

この権限を設定すると全てのグローバル権限が「N」(権限なし)になる。

mysql> GRANT USAGE ON *.* TO 'guest'@'localhost';

mysql> SELECT user,password,host FROM user WHERE user = 'guest';
+-------+----------+-----------+
| user  | password | host      |
+-------+----------+-----------+
| guest |          | localhost | 
+-------+----------+-----------+