誕生日にもらった意外なもの

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)'


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

A 回答 (1件)

パスワードが分からなくなってしまった場合は、


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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


おすすめ情報