在使用 IntelliJ IDEA 开发 Java 项目并连接 MySQL 数据库时,初学者常常会遇到各种报错信息。
这些错误看似复杂,其实大多数都属于 驱动配置错误、数据库连接配置问题、SQL 语句错误、编码问题 等常见范畴。
本文将总结 IDEA 启动项目时最常见的 MySQL 报错,分析原因并提供对应的解决方法。
一、MySQL 驱动问题
1. 报错信息
Public Key Retrieval is not allowed
常见原因
- MySQL 8.x 默认要求安全认证,需要显式开启
allowPublicKeyRetrieval=true
。 - 使用 MySQL 5.x 驱动 去连接 MySQL 8.x 数据库,导致不兼容。
解决方法
修改 JDBC URL:
jdbc:mysql://localhost:3306/test?allowPublicKeyRetrieval=true
二、数据库连接错误
1. 报错信息
Communications link failure
Access denied for user 'root'@'localhost'
常见原因
- MySQL 服务未启动 → IDEA 无法建立连接
- 用户名/密码错误 → 账号校验失败
- 远程连接未开启 → 默认 MySQL 只允许本地登录
解决方法
-
检查 MySQL 服务:
net start mysql
-
确认用户名密码正确。
-
开启远程连接:
grant all privileges on *.* to 'root'@'%' identified by '你的密码' with grant option; flush privileges;
三、SQL 语句错误
1. 报错信息
Table 'xxx' doesn't exist
Unknown column 'yyy' in 'field list'
常见原因
- 数据库脚本没有导入,表不存在。
- 数据库版本差异,字段缺失或改名。
解决方法
-
确认数据库已建表,执行初始化脚本:
source schema.sql;
-
确认字段是否存在,避免拼写错误。
-
如果版本升级导致字段差异,需要同步数据库结构。
四、编码问题
1. 报错信息
插入中文变成 ???
常见原因
- MySQL 默认字符集为
latin1
,不能正确存储中文。 - JDBC URL 没有设置编码参数。
解决方法
-
建库时指定编码:
create database 你的数据表 character set utf8mb4 collate utf8mb4_general_ci;
-
修改 JDBC URL:
jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8
五、其他常见 MySQL 报错
1. 时区问题
The server time zone value 'CST' is unrecognized
原因:MySQL 服务器时区与客户端不一致。
解决方法:在 JDBC URL 中加上 serverTimezone=UTC
或 Asia/Shanghai
。
2. SSL 相关错误
SSL connection error: SSL is required but the server doesn't support it
原因:MySQL 连接默认开启 SSL,但服务器没配置。
解决方法:
jdbc:mysql://localhost:3306/test?useSSL=false
六、总结
这里放一个完整的 url
jdbc:mysql://localhost:3306/你的数据库名?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
IDEA 启动 Java 项目时的 MySQL 报错,大致可以分为 4 类:
- 驱动问题(缺少依赖、版本不兼容)
- 连接问题(服务未启动、账号错误、远程未开启)
- SQL 问题(表不存在、字段缺失)
- 编码问题(中文乱码)
掌握以上排查方法,就能快速解决大部分常见的 MySQL 报错。
还没有人赞赏,快来当第一个赞赏的人吧!

- 2¥
- 5¥
- 10¥
- 20¥
- 50¥
声明:本文来自Xia投稿,不代表毕设侠立场,版权归原作者所有,欢迎分享本文,转载请保留出处!