web-dev-qa-db-ja.com

エラー1045(28000):ユーザー 'root' @ 'localhost'のアクセスが拒否されました(パスワードを使用:YES)

一部のユーザーはこれが重複だと言うかもしれないことを知っていますが、真剣に私は半日以上答えとインターネット上のものを組み合わせてみました。

治療の説明が終わったので、Ubuntu 12.04 LTSのUbuntuリポジトリからMySql ServerとMariaDb 10をインストールし、インストール時にルートパスワードを入力します[ピンク色の画面が表示され、ルートパスワードの入力を求められたら]バターを包むナイフのように滑らかに。

これで、以下の2つのシナリオのいずれかで本当のフラストレーションが始まります。

  1. Sudo/usr/bin/mysql_secure_installationコマンドを入力すると、rootパスワードを入力するよう求められます

または

2. mysql -u root -pコマンドを入力すると、パスワードの入力を求められます。

これについて本当に助けが必要です-首の痛みがエラーであるため、MySQLまたはMariaDbのアンインストールと再インストールの回数を失いました。

3
chetwynd2014

私は問題を理解していると思う-それは長いパスワードに関係しています。これはMySQlとMariaDBの開発者にバグとして報告されるべきだと思いますインストールのために100文字以上のパスワードを作成できますが、運用中にMySQlまたはMariaDBにログインすると、上記のエラーが発生します。

大変な苦労の末、これを理解できてうれしいです。これは、MySQLが本番環境で何年使用されているかを考えると、これがバグとして特定されていないことに本当に驚いています。

したがって、基本的に1つの解決策は、上記の問題を解決するために次の手順を実行することです。

  1. 非本番サーバーで空のパスワードで開始し、それが機能する場合

  2. ステップ1で成功したら、次のコマンドを入力してmysqlインストールの保護を進めます:Sudo/usr/bin/mysql_secure_installationそして、より複雑なパスワードを入力してください-小文字、数字、記号の組み合わせ少なくとも8文字の大文字でも問題ありません。

  3. 8から始めて、入力できる文字数の上限に達するまで上に移動することをお勧めします。

上記は、MySQLサーバーを保護するための正しい方向への一歩です。

4
chetwynd2014

ファイルを確認してください:/etc/mysql/mariadb.conf.d/mysqld.cnf

この行が存在するかどうかを確認します。

plugin-load-add = auth_socket.so

次にMariaDBに移動します:

Sudo mysql -u root

これらの変更を行います。

MariaDB [(none)]>use mysql;
MariaDB [(none)]>update user set plugin=' ' where User='root';
MariaDB [(none)]>flush privileges;
MariaDB [(none)]>exit

mysqlworkbenchにアクセスできませんでしたが、このソリューションを適用した後、すべてがうまく機能しません...

8
David Leonardo

ターミナルで次のコマンドを試してください。

mysqladmin -u root -pcurrentpassword password 'newpassword'

次に、次を入力します。

mysql -u root -pnewpassword
0
Rajesh N

最良の答えは here です

何が起こっているのかを説明しています。プラグインを無効にするだけではいけない理由を説明しています。それを回避する方法を説明します(Sudoを使用してログインし、ルートではない新しいスーパーユーザーアカウントを作成します)。

thisdavid-leonardo による解決策は再起動後も存続しないことに注意してください。

0
datakid