私はTomと呼ぶMySQLユーザを持っています。 Tomには、グローバルなCREATEおよびSHOW DATABASES権限と、 'GRANT'オプションがあります。 ユーザーにはデータベースごとにSELECT、INSERT、UPDATEおよびDELETE特権が割り当てられます。しかし、Tomが新しいデータベースを作成した後、グローバルなGRANTオプションがあるにもかかわらず、SELECTなどの権限を設定することはできません。MySQLユーザが新しいデータベースに特権を与えることを許可する
CREATE DATABASE `my_new_db`; -- this is fine
GRANT SELECT , INSERT , UPDATE , DELETE ON `my_new_db` . * TO 'Tom'@'%';
*Access denied for user 'Tom'@'%' to database 'my_new_db'*
これはPHPを介して行われているが、私はそれが大きな違いを作る疑う: エラーが(予想通り)です。
誰かが私が間違っていることを教えてください! Ta =]
本当に?それは正しく駄目です。だから基本的に私は '許可'ユーザーを作成する必要がありますか? –
私は従いません。トムの既存の役割とはどのように違いますか? – kbolino
Tomの実際の役割は読み書き可能なユーザーですが、特定のデータベースのみです。私はこれらのデータベースをオンザフライで作成する必要がありますが、Tomが自分自身にアクセス権を与えることができない場合は、できることが必要です。私はすべてのデータベースにアクセスできるユーザーが本当に必要ではなかった。 *巨大なものではありませんが、私はまだプログラマーのことを知っています。] –