解决IntelliJ IDEA连接MySQL时“Public Key Retrieval is not Allowed”问题

前言

在使用IntelliJ IDEA开发环境中连接MySQL数据库时,可能会遇到“Public Key Retrieval is not allowed”这样的错误提示,即使输入的用户名和密码完全正确。本文将指导你如何解决这一问题,确保顺利建立数据库连接。

错误背景

这一问题通常发生在MySQL 8.0及更高版本中,尤其是当MySQL服务器配置了caching_sha2_password作为默认身份验证插件时。客户端尝试连接服务器并请求公钥进行非SSL连接加密验证,但由于服务器的安全策略阻止了这种行为,从而导致连接失败。

解决方案

要解决此问题,可以通过调整数据库连接设置来允许公钥检索,以下是两种具体的解决方法:

方法1:修改连接字符串

如果你在项目代码中直接管理数据库连接,可以在JDBC连接URL中加入特定参数以允许公钥检索。示例连接字符串如下:

jdbc:mysql://your_database_host:port/your_database?
    useSSL=false&
    serverTimezone=UTC&
    allowPublicKeyRetrieval=true

注意新增的allowPublicKeyRetrieval=true部分,它指示驱动程序允许从服务器获取公钥。

方法2:在IntelliJ IDEA中配置

对于通过IDEA图形界面配置的数据源,可以按照以下步骤进行调整:

  1. 打开数据库工具窗口:在IntelliJ IDEA顶部菜单中找到并点击View > Tool Windows > Database

  2. 编辑数据源:如果你已经设置了MySQL数据源,右击它并选择Edit Data Source;若尚未设置,则点击+添加新的数据源,并选择MySQL

  3. 调整连接属性:在数据源配置界面,滚动至PropertiesAdditional Properties区域。

  4. 添加新属性:点击+按钮添加一个新属性,键名为allowPublicKeyRetrieval,值设置为true

  5. 验证并保存:确认其他连接设置(主机名、端口、用户名、密码等)无误后,点击应用并测试连接是否成功。

注意事项
  • 安全性考量:虽然上述方法能解决连接问题,但允许公钥检索可能降低连接的安全性。在生产环境中,推荐使用SSL连接来增强数据传输的安全性。
  • 长期解决方案:考虑与数据库管理员讨论,评估是否调整MySQL服务器的认证插件(例如,从caching_sha2_password切换到mysql_native_password),但这一改动需谨慎处理,因为它涉及到数据库安全策略。

相关推荐

  1. MySQL 配置和连接问题解决方案

    2024-07-16 15:02:02       49 阅读
  2. 解决zabbix连接mysql 8数据库的异常问题

    2024-07-16 15:02:02       57 阅读
  3. mysql update set使用and连接使更新的数据出现问题

    2024-07-16 15:02:02       34 阅读
  4. 深入解析MySQL连接超时问题排查与优化策略

    2024-07-16 15:02:02       31 阅读
  5. 【git】解决网络连接问题

    2024-07-16 15:02:02       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 15:02:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 15:02:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 15:02:02       58 阅读
  4. Python语言-面向对象

    2024-07-16 15:02:02       69 阅读

热门阅读

  1. [ptrade交易实战] 第十四篇 公共交易函数 (2)

    2024-07-16 15:02:02       29 阅读
  2. 数据库系统概论:初识数据库

    2024-07-16 15:02:02       21 阅读
  3. Sqlmap中文使用手册 - Optimization模块参数使用

    2024-07-16 15:02:02       26 阅读
  4. 智能招聘系统的AI功能解析

    2024-07-16 15:02:02       23 阅读
  5. 若依分离版 后端自定义分页

    2024-07-16 15:02:02       22 阅读
  6. Elasticsearch索引映射定义

    2024-07-16 15:02:02       19 阅读
  7. 树莓派使用蓝牙设置wifi网络

    2024-07-16 15:02:02       18 阅读
  8. Spring Boot项目中,对接口请求参数打印日志

    2024-07-16 15:02:02       23 阅读