- ベストアンサー
ERROR 1045 (28000) (using password: YES)について
はじめまして。 MySQLで作ったユーザー「a」でログインするのに、 mysql -u a -p password:12345 でログインしようとすると、 ERROR 1045 (28000): Access denied for user 'a'@'localhost' (using password: YES) と表示されてしまいます。 パスワードは設定した通りなので間違いないのですが、ネットでも調べてもパス違いでしか載ってないので、他に原因がわかる方いましたらお教え頂ければと思います。 rootユーザーではログインできる。 バージョンは5.0.77 以上、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなが選んだベストアンサー
解決した一例です insert into user set user="hoge", password=password("hogepass"), host="localhost"; で、アカウントとパスワードを設定し、 select user, host, password from user; 確認して、すべて正しく設定されているのに、 それでもなお、using password: YES とエラーがでてしまっていて困っていたところで、ここにたどりつきました。 [以下解決した例] で、もう一度、rootでmysqlにログインし、 set password for hoge@localhost = password('hogepass'); と、パスワード設定をおこなったら、 掲題のエラーがでることなく、新ユーザで、mysqlが使えるようになりました。 なんでなのかは全く不明です。 とりあえず、解決できたので、次に踏んだ人用に、足跡残しておきます。
その他の回答 (2)
- shandygaff
- ベストアンサー率28% (2/7)
あと考えられるのは権限が正しく付いていない、等でしょうか。 a以外に、別の名前のテストユーザを作成することは可能ですか? mysql>GRANT ALL PRIVILEGES ON *.* TO user@localhost IDENTIFIED BY 'password' WITH GRANT OPTION; mysql>FLUSH PRIVILEGES; 上記で作った新しいユーザがログインできるのなら、 一度aユーザをdropして、再作成してみるのも手かもしれません。
- shandygaff
- ベストアンサー率28% (2/7)
'a'@'%'にはパスワードが設定されていても、 'a'@'localhost' にはされていなくてlocalhostから接続する場合、 上記のエラーが出ると思います。 rootでログインし、mysqlデータベースに接続(use mysql)して、 select user, host, password from user; で一覧を確認してみてください。 user=a、host=localhostの列はあるでしょうか?
お礼
ご回答ありがとうございます。 参照した結果、user=a、host=localhostの列はありました。 またrootと同じパスワードに設定しているのですが、 それもrootと同じようになっておりまして、 rootではログイン可能です。