何らかの方法で、コマンドライン経由でMySQLにアクセスしようとすると、このエラーが発生しました。
[root@localhost ~]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
このHowToを使用して、運のないパスワードをリセットしようとしました。
Mysql completleyをアンインストールして再インストールしましたが、パスワードの入力を求められます。なぜそうなのか分かりません!
誰かがMySQLのデフォルトのインストールを手伝ってくれますか?.
Fedora Core 10、フルルートアクセス、ApacheおよびPHPインストール済み
助けてくれてありがとう!!
MySQlをアンインストールすると、残されたものがすべて完全に削除されます。これを行わないと、新規インストールにはなりません。
実際にルートパスワードを設定し、それを紛失/忘れた場合:
Skip-grant-tablesオプションを使用して手動で再起動します:mysqld_safe --skip-grant-tables
次に、新しいターミナルウィンドウを開き、MySQLクライアントを実行します:mysql -u root
次のMySQLコマンドを使用して、rootパスワードを手動でリセットします。UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
MySQL 5.7を使用している場合(ターミナルでmysql --versionを使用して確認)、コマンドは次のとおりです。
UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
次のMySQLコマンドで特権をフラッシュします:FLUSH PRIVILEGES;
から http://www.tech-faq.com/reset-mysql-password.shtml
(多分、これはあなたが必要とするものではないでしょう、Abs、しかし、私はそれが将来この質問に出くわす人々に役立つかもしれないと思います)
パスワードなしで接続してみてください:
mysql -u root
最初のデフォルトは、rootアカウントのパスワードではないと考えています(明らかに、できるだけ早く変更する必要があります)。
このコマンドを使用して、可能な出力を確認します
mysql> select user,Host,password from mysql.user;
出力
mysql> select user,Host,password from mysql.user;
+-------+-----------------------+-------------------------------------------+
| user | Host | password |
+-------+-----------------------+-------------------------------------------+
| root | localhost | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root | 127.0.0.1 | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| admin | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| admin | % | |
+-------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)
もう一度GRANTコマンドを使用してユーザーadminにパスワードを付与します
mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED by 'password'
その後、出力は彼のようになりますグラントリストを確認してください
mysql> select user,Host,password from mysql.user;
+-------+-----------------------+-------------------------------------------+
| user | Host | password |
+-------+-----------------------+-------------------------------------------+
| root | localhost | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root | 127.0.0.1 | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| admin | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| admin | % | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+-------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)
たとえば、ユーザー「admin」などの目的のユーザーにログインを許可する必要がある場合は、一度GRANTコマンドを使用してコマンドを実行します。
これで、ユーザーはログインできるようになります。
現在のルートパスワードは空でなければなりません。次に、「新しいルートパスワード」の下にパスワードを入力して確認します。
MySql Administratorに接続できませんでした。別のユーザーを作成し、すべての権限を割り当てることで修正しました。
その新しいユーザーでログインしましたが、うまくいきました。
同じエラーが発生しましたが、password_expired
はY
に設定されました。 現在受け入れられている回答 と同じアプローチに従うことで、その問題を修正できますが、代わりにMySQLクエリを実行します。
UPDATE mysql.user SET password_expired = 'N' WHERE User='root';