606

MySQL - 8.0 を MySQL Workbench に接続すると、次のエラーが発生します。

認証プラグイン 'caching_sha2_password' をロードできません: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): イメージが見つかりません

他のクライアントツールでも試しました。

これに対する解決策はありますか?

4

32 に答える 32

426

このようにパスワードの暗号化を変更できます。

ALTER USER 'yourusername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'youpassword';
于 2018-04-20T06:57:31.883 に答える
76

以下の Alter コマンドを使用してユーザーを変更することにより、ユーザーのパスワードの暗号化を変更できます。

ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';

また

このエラーは、古いパスワード プラグインで機能させることで回避できます。

まず、Linux の場合は my.cnf ファイル、Windows の場合は my.ini ファイルで認証プラグインを変更します。

[mysqld]

default_authentication_plugin=mysql_native_password

mysql サーバーを再起動して変更を有効にし、MySQL 経由で任意の mysql クライアントに接続してみます。

それでも接続できず、次のエラーが表示される場合:

Unable to load plugin 'caching_sha2_password'

これは、ユーザーが上記のプラグインを必要としていることを意味します。そのため、デフォルトのプラグインを変更した後、create user または grant コマンドで新しいユーザーを作成してみてください。その後、新しいユーザーはネイティブ プラグインを必要とし、MySQL に接続できるようになります。

ありがとう

于 2018-03-12T05:08:21.523 に答える
5

上記の回答とほとんど同じですが、単純なクエリである可能性があります。MySQL のアップグレード後に、休止状態とともにスプリング ブート アプリケーションでこのエラーが発生していました。DB に対して以下のクエリを実行して、新しいユーザーを作成しました。これは、最新の適切な認証 caching_sha2_password の代わりに sha256_password を使用するための一時的な回避策だと思います。

CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pa$$word';

GRANT ALL PRIVILEGES ON * .* TO 'username'@'localhost';
于 2018-06-05T19:39:16.810 に答える
3

別のコンピューターのテキストベースの MySQL クライアントから MySQL サーバーに接続しようとしている場合 (Docker であるかどうかに関係なく)

ここでのほとんどの回答には、デスクトップ クライアントからの接続が含まれるか、古い認証方法に切り替えるように求められます。MySQL クライアント (テキストベース) に接続する場合は、Docker コンテナー内の Debian Buster で動作するようにしました。

apt システムと wget がセットアップされているとします。次の手順を実行します。

  1. sudo apt-get update
  2. sudo apt-get install lsb-release -y
  3. apt ソースを更新する Debian パッケージをMySQL Web サイトからダウンロードします。
  4. sudo dpkg -i mysql-apt-config_0.8.13-1_all.debをクリックして、必要なオプションを選択します。私の場合、MySQL Tools & Connectors有効にするだけで済みます。
  5. sudo apt-get update
  6. sudo apt-get install mysql-client -y
  7. 終わり。新しい MySQL クライアントを実行し、新しい認証方法で接続できるようになりました。
于 2019-08-29T07:24:07.367 に答える
1

MySql のダウンロードとインストール中に従来のパスワードを使用してみてください。または、Santhosh Shivan が Mac OS 用に投稿した方法に従ってください。

于 2019-11-29T20:27:34.720 に答える