0

MySQL では、次の 2 つのユーザーを作成します。

CREATE USER 'Bob'@'localhost' IDENTIFIED by 'p'
CREATE USER 'Alice'@'%' IDENTIFIED by 'a'

そして、「mysql -u Alice -p」で接続しようとすると失敗し、

Error 1045 (28000) Access denied for user 'Alice'@'localhost'

T ボブも同じ。

なぜこれが起こるのか誰にも分かりますか?

編集:

MySQL はパスワードを要求し、I putand でそのエラーが表示されます。

編集 2: ローカルではなくリモートで接続しているため、動作する必要があるのは Alice だけです。

4

3 に答える 3

0

Using % for host when creating a MySQL userのコメントによると、

実際には、'localhost' は mysql で特別です。これは、TCP/IP ソケットではなく、UNIX ソケット (または Windows の名前付きパイプ) を介した接続を意味します。ホストとして % を使用すると、「localhost」が含まれません

その結果、mysql -u alice...コマンドが 127.0.0.1 ではなく Unix ソケットを使用して接続する場合は、

CREATE USER 'Alice'@'localhost' IDENTIFIED by 'a'
于 2013-05-27T20:17:09.520 に答える
0

root としてログインし、次の操作を行います。

GRANT ALL privileges ON *.* TO Bob@localhost IDENTIFIED BY 'p' WITH GRANT OPTION;
于 2013-05-27T20:13:50.193 に答える
0

そのコマンドで特権をフラッシュしようとしましたか?

FLUSH PRIVILEGES;
于 2013-05-27T20:15:34.883 に答える