MySQL接続時に「Public Key Retrieval is not allowed」が出る件

こんにちは、おくやんです。

このブログでは、開発に役立つノウハウを実践的なコード例と共に紹介しています。

ローカル環境のMySQLにDBeaverで接続しようとすると、「Public Key Retrieval is not allowed」エラーで接続できない。。。

今回は、このようなお悩みを解決します。

本記事の内容

 「Public Key Retrieval is not allowed」エラーが発生する理由
 「Public Key Retrieval is not allowed」エラーの対処方法

今回はローカル環境のMySQLに、DBeaverで接続した際に出るエラーに関して調べてみました。

同様の事象に悩んでいる方は本記事を参考にしてみてください。

発生した事象について

発生した事象について画像

ローカル環境のMySQLにDBeaverから接続しようとした際に、「Public Key Retrieval is not allowed」が発生し、接続に失敗しました。

エラー表示画像
エラー表示

このエラーの原因と対処方法についてまとめました。

「Public Key Retrieval is not allowed」エラーが発生する理由

エラーの原因となっているのが、認証方式「caching_sha2_password」です。

MySQL8.0からデフォルトの認証方式として採用されています。

caching_sha2_passwordのデフォルト設定では、TLSによる保護がされていない通信での接続ができません。

このため、ローカル環境のMySQLに接続しようとした際にエラーが発生します。

続いて対処方法について解説します。

「Public Key Retrieval is not allowed」エラーの対処方法

TLSで保護されていない通信で接続する場合は、下記設定を追加する必要があります。

allowPublicKeyRetrieval=true

DBeaverでは下記の手順で変更できます。

DBeaverの設定手順

1. 接続設定画面を開く
2. ドライバのプロパティタブを開く
3. allowPublicKeyRetrievalをTRUEにする

設定を変更することで、TLSで保護されていない通信でも接続が可能となります。

参考

最後まで読んでいただき、ありがとうございます。


MySQL接続時に「Public Key Retrieval is not allowed」が出る件
最新情報をチェックしよう!

トラブルシューティングの最新記事8件