0

C# アプリケーションのテストに使用している MySQL データベースがあります。スーパーユーザーとして、次の「クエリ」を入力します。

GRANT ALL PRIVILEGES ON testing.* TO 'Ubuntu'@'localhost';

肯定的なメッセージに。次に、データベースからログアウトし、Ubuntu として再度ログインし、localhost 接続で次のクエリを実行します。

USE testing;

次のメッセージを受け取ります。

ERROR 1044(42000): Access denied for user 'ubuntu'@'localhost' to database 'testing'

このクエリも実行しました:

GRANT ALL PRIVILEGES ON testing.* TO 'Ubuntu'@'%'; 

同じ結果で。

私は正確に何が欠けていますか?かなり簡単な手順のように思えます...

4

2 に答える 2

2

特権をフラッシュする必要があります。

FLUSH PRIVILEGES;

リッキーが指摘したように(これは何ですか、相互賞賛社会ですか?!) ユーザー名は大文字と小文字が区別されるため、ユーザーはユーザーUbuntuとは異なりますubuntu

于 2013-07-02T20:22:26.533 に答える
1

ユーザー名は大文字と小文字が区別されると思います。クエリでは、大文字の「Ubuntu」にアクセス許可を付与していることがわかりますが、エラー メッセージでは「ubuntu」は小文字です。

また、AMADANON Inc. が指摘したように、おそらくクエリを実行する必要があります。

FLUSH PRIVILEGES;

許可が実際に有効になるようにします。

于 2013-07-02T20:23:39.907 に答える