2011-10-06 3 views
10

新しいユーザーを作成できるようにするデータベースがあります。これは素晴らしい作品とfooはユーザーを作成することができますroot権限を持たないユーザーとして「create user」を付与するにはどうすればよいですか?

grant create user on *.* to foo; 

:それは次のようにCREATE USERをGRANTを経由して達成可能です。私の問題は、上記の行はrootとして実行されても動作しますが、通常のユーザーとして実行した場合、たとえそのユーザーがすでにCREATE USER権限を持っていても機能しません。

つまり、通常のユーザーはユーザーを作成する権限を委任できません。私はこれを行うために必要な特権については遠くから探してきましたが、私はそれがrootの人しかできないものだと思っています。

質問:新しいユーザーにユーザーを作成させるにはどうすればよいですか?

答えて

7

付与後のクエリを実行してください:

FLUSH PRIVILEGES; 
8

どちらの答えは有用であった - 私は両方の組み合わせを使用し、働いているようです。 rootとして

(管理者が通常のユーザです):管理者として

mysql> grant create user on *.* to admin with grant option; 
Query OK, 0 rows affected (0.00 sec) 

mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec) 

(彼は通常のユーザだ、覚えておいてください):

mysql> grant create user on *.* to foo with grant option; 
Query OK, 0 rows affected (0.00 sec) 

はありがとうございました。

4
-- Create username user 

GRANT ALL PRIVILEGES ON `tshirtshop`.* 
     TO 'username'@'localhost' IDENTIFIED BY 'password' 
     WITH GRANT OPTION; 
関連する問題