导语: 本文总结了 IDEA 启动 Java 项目常见 MySQL 报错,包括 驱动问题(Public Key Retrieval is not allowed)、数据库连接错误(Communications link failure、Access denied)、SQL 错误(表不存在、字段缺失)、编码问题(中文乱码),并补充了 时区错误、SSL 连接错误、端口占用问题 的原因与解决方法。文章给出了具体解决方案和 JDBC URL 配置示例,帮助 Java 开发者快速定位和修复 MySQL 报错。

在使用 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 只允许本地登录

解决方法

  1. 检查 MySQL 服务:

    net start mysql
  2. 确认用户名密码正确。

  3. 开启远程连接:

    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'

常见原因

  • 数据库脚本没有导入,表不存在。
  • 数据库版本差异,字段缺失或改名。

解决方法

  1. 确认数据库已建表,执行初始化脚本:

    source schema.sql;
  2. 确认字段是否存在,避免拼写错误。

  3. 如果版本升级导致字段差异,需要同步数据库结构。


四、编码问题

1. 报错信息

插入中文变成 ???

常见原因

  • MySQL 默认字符集为 latin1,不能正确存储中文。
  • JDBC URL 没有设置编码参数。

解决方法

  1. 建库时指定编码:

    create database 你的数据表 character set utf8mb4 collate utf8mb4_general_ci;
  2. 修改 JDBC URL:

    jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8

五、其他常见 MySQL 报错

1. 时区问题

The server time zone value 'CST' is unrecognized

原因:MySQL 服务器时区与客户端不一致。
解决方法:在 JDBC URL 中加上 serverTimezone=UTCAsia/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 类:

  1. 驱动问题(缺少依赖、版本不兼容)
  2. 连接问题(服务未启动、账号错误、远程未开启)
  3. SQL 问题(表不存在、字段缺失)
  4. 编码问题(中文乱码)

掌握以上排查方法,就能快速解决大部分常见的 MySQL 报错。

「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

xia给Xia打赏
×
予人玫瑰,手有余香
  • 2¥
  • 5¥
  • 10¥
  • 20¥
  • 50¥
¥2
支付

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

2025-08-22

2025-08-26

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享