こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

ログインができなくなりました

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

久しぶりに使おうと起動したところ、mysqlにログインできなくなっていました。
以前は動いており、テーブルを作っていました。パスワードは保存していましたので、間違いはないと思います。phpやapacheは最初からマシンに入っているもの、mySQLは直接最新のソースを取ってきてインストールしていたものです。lamp?とかそういうのではないです。
ほとんどのコマンドが上記のエラーを発します。
MySQLのlocalhostの設定の確認&変更の方法などはあるのでしょうか?
(関係あるかどうかわかりませんが、ローカルのAPACHEはPHPも処理できます。問題なく動いています。)
MySQLのルートユーザのパスワードを一から設定しなおそうとも試みて、mySQLの公式サイトの指示通りにcnfファイルにオプションを追加してから再起動し、
mysqladmin -u root password 'mynewpassword'
を実行しましたが、
これも冒頭のエラーが出て受け付けてくれません。

その他エラーが出るケース
・mysqladmin ping -u root -p
 Enter password: (パスワード入力すると)
 mysqladmin: connect to server at 'localhost' failed
 error: 'Access denied for user 'root'@'localhost' (using password: YES)'


よろしくおねがいします。

投稿日時 - 2012-02-17 01:49:12

QNo.7309926

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

パスワードが分からなくなってしまった場合は、
my.cnfにskip-grant-tablesと追記してMySQLを再起動しましょう。
grantテーブルを無視して動くようになるため誰でも管理者権限で入れるようになります。
外部から入れないよう念のため、オフライン環境(LANケーブルを抜いて)にして行うことを推奨します。
この状態でパスワードを再設定し、skip-grant-tablesを消して再起動すれば再設定したパスワードで入れます。
(作業後はskip-grant-tablesは必ず消して再起動しておかないとパスワードの意味がありません)

投稿日時 - 2012-02-18 20:00:18