IDEA首次使用Database工具需手动配置MySQL驱动及连接参数:下载mysql-connector-java-8.0.x.jar,设置allowPublicKeyRetrieval=true、useSSL=false、characterEncoding=utf8mb4、serverTimezone=Asia/Shanghai,并授权information_schema SELECT权限。

点开 Database 工具窗口后提示 “No database drivers found”
这是 IDEA 第一次用 Database 工具时最常卡住的地方:它不会自动装 MySQL 驱动,得手动下载并绑定。不是插件没开,也不是网络问题,就是驱动压根没加载。
实操建议:
- 在 Database 工具窗口右上角点 “+” → “Data Source → MySQL”,先别急着填连接信息
- 弹出的配置面板里,
Driver下拉框右侧有个小齿轮图标,点它 → “Download missing driver files” - 如果下载失败(比如显示
Connection refused或一直转圈),关掉代理、换国内源——IDEA 默认走 JetBrains 官方 Maven 仓库,国内有时慢或被限;可手动下载:mysql-connector-java-8.0.33.jar(推荐 8.0.x,兼容 MySQL 5.7/8.0,且支持serverTimezone参数) - 下载完 JAR 后,在 Driver 配置页点
…按钮,选中该 JAR 文件,再点Apply
填了 localhost 和 3306 还连不上,报错 Public Key Retrieval is not allowed
MySQL 8.0+ 默认启用 caching_sha2_password 插件,而旧版驱动或未显式配置的连接会触发这个错误。不是密码错了,是认证方式不匹配。
实操建议:
- 在 Database 配置页的
Advanced标签页里,加两个关键参数:allowPublicKeyRetrieval=trueuseSSL=false(本地开发可关 SSL,生产环境必须开) - 如果还报
Unknown system variable 'query_cache_size',说明你用的是 MySQL 8.0+,但驱动是 5.1.x —— 必须换成mysql-connector-java-8.0.x,5.x 驱动不识别 8.0 的系统变量 - 连接 URL 示例(复制进
URL输入框):jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
测试连接成功,但展开表时提示 Schema ‘information_schema’ access denied
IDEA 的 Database 工具默认会读取 information_schema 和 performance_schema 来展示元数据(比如表结构、索引),但你的 MySQL 账号可能没这些库的 SELECT 权限。
实操建议:
- 用 root 或高权限账号登录 MySQL 终端,执行:
GRANT SELECT ON information_schema.* TO 'your_user'@'localhost';FLUSH PRIVILEGES; - 或者更轻量:在 IDEA 的数据库配置里,把
Database字段从空着改成明确指定你要用的库名(比如testdb),这样它就不会尝试访问information_schema - 注意:不要勾选
Connect to DBMS without selecting a database,本地开发基本用不到这个模式
连接后中文显示为问号或乱码
根本原因不是 IDEA 设置,而是 JDBC 连接没声明字符集,MySQL 服务端和客户端编码不一致。即使数据库、表都设了 utf8mb4,JDBC 不带参数照样解码失败。
实操建议:
- 在连接 URL 末尾补全字符集参数:
&characterEncoding=utf8mb4&serverTimezone=Asia/Shanghai - 确认 MySQL 服务端配置(
my.cnf)里有:[client]default-character-set = utf8mb4[mysqld]character-set-server = utf8mb4 - IDEA 自身编码设置(File → Settings → Editor → File Encodings)要设为
UTF-8,但这只影响你写的 SQL 文件,不影响 JDBC 传输
驱动版本、连接参数、权限范围、字符集声明——这四块只要漏掉一块,连接就卡在某个奇怪环节。很多人反复重装驱动或改 IDEA 设置,其实问题根本不在 IDE 侧。











