🦫

DBeaverで「Public Key Retrieval is not allowed」が出たときの対処法😎

に公開

MySQL 8系を使っていると、DBeaverで接続しようとした際に以下のようなエラーが出ることがあります。
この記事では、このエラーの原因と、すぐできる解決策をわかりやすく解説します 💡

🤔 このエラーの原因は?

MySQL 8.0以降では、ユーザー認証の方式が mysql_native_password から caching_sha2_password に変更されました。
DBeaver側で公開鍵取得(Public Key Retrieval) が許可されていないと、MySQLにログインできず、上記のエラーが発生します。

対処方法①:DBeaverのDriver Propertiesを設定する

GUIで完結したい人向け。以下の手順で設定変更できます。

  1. DBeaverでデータベースナビゲータより該当のDBを選択し、右クリック
  2. 「編集 接続」を選択
  3. 接続設定の「ドライバのプロパティ」タブに切り替え
  4. プロパティ一覧画面で、「+」ボタンを選択
  5. allowPublicKeyRetrieval を入力しOKを選択、値を true に設定

  6. 必要に応じて useSSLfalse
  7. OKを選択して接続テスト!

対処方法②:JDBC接続URLにパラメータを追加する

接続設定の「General」→「URL」欄に以下を追加:
jdbc:mysql://localhost:3306/your_db?allowPublicKeyRetrieval=true&useSSL=false

  • your_db の部分は実際のDB名に置き換えてください
  • SSLを使わないローカル開発環境で特に効果的です

さいごに☺

今回は、DBeaverの「Public Key Retrieval is not allowed」エラーについて対処方法を示しました。ほんのちょっとの設定変更で解決できます。
ご意見ご感想等お待ちしております。Happy Hacking! 💻🚀

ゴロゴロシステムズでは、「労務・人事・業務・メンタルヘルス課題のDXを通じて、こころの労働負荷を削減」 をモットーに活動しています。
今後も技術情報を発信していくので、良かったらチェックしてくださいな🐤

ゴロゴロシステムズHP

Discussion