0

次のコマンドを使用して、MySQL ユーザーの権限を設定しようとしています。

joomla.* のすべてを user@localhost に許可します。

非常に多くのバージョンを試しましたが、すべて返されます: ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'joomla2'

ユーザー名「user」が渡されていないことを示しているのはどれですか? 上記のコマンドの多くのバージョンを試しましたが、他に注意する必要があることはありますか。

PS: 私の名前は実際には「ユーザー」ではありません。

4

6 に答える 6

3

特権テーブルを見てみてください。例えば:

> use mysql;
> select * from db;

それは何がうまくいかないかについてのヒントを与えるかもしれません。

また、user@'127.0.0.1' を指定し、-H 127.0.0.1 フラグを使用して接続する (mysql コマンド ライン クライアントを使用している場合) ことにより、UNIX ソケットではなく tcp 経由で接続を試みることもできます。

GRANT ステートメントの「IDENTIFIED BY "mypwd"」部分を使用してパスワードを指定しようとしましたか?

于 2009-04-28T07:33:55.913 に答える
1

これは私のために働いています:

GRANT ALL PRIVILEGES ON joomla.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

問題は、パスワードを教えていないことだと思います。

また、他のユーザーに権限を付与できるユーザーを使用していますか? root として接続しますか、それとも通常のユーザーとして接続しますか?

于 2009-04-28T07:35:05.817 に答える
1

MySQL Ref Manualによると、上記のステートメントの ' が抜けていると思います。

試しましたか:

GRANT ALL ON joomla.* to 'user'@'localhost';
于 2009-04-28T07:35:58.950 に答える
1

このコマンドを実行しようとするとき、user@localhost として MySQL にログインしていますか?

その場合、root ユーザーまたは特権を割り当てることができる別のユーザーとしてログインしているときに必要な特権を自分自身に割り当てることができません。

于 2009-04-28T07:43:00.103 に答える
0

その後、サーバーを再起動しましたか?そうでない場合は、発行する必要がありますFLUSH PRIVILEGES

于 2009-04-28T08:35:30.693 に答える
0

みんな、ありがとう。質問の答えにはなりませんが、今度は mysql を再インストールし、適切な root ユーザー名とパスワードを与えます。前回はこれらを空のままにしました。長い解決策ですが、問題は解決します。

于 2009-04-28T07:51:02.160 に答える