Eclipse与MySQL连接异常求助:附JDBC连接代码
排查JDBC连接MySQL失败的问题
嘿,我来帮你梳理下这个JDBC连接失败的问题!从你的代码来看,几个常见的原因可能导致这个错误,咱们一步步来排查:
1. 确认MySQL服务是否正在运行
这是最容易忽略的点——如果本地的MySQL服务没启动,根本连不上。
- Windows:打开任务管理器,找到“服务”标签,查看MySQL服务状态,确保它处于“正在运行”。
- Linux/macOS:在终端执行
systemctl status mysql(Linux)或者brew services list(macOS用brew安装的情况),确认服务状态。
2. 验证MySQL驱动包是否正确引入
你代码里用的是com.mysql.cj.jdbc.Driver,这是MySQL 8.0+版本的驱动类,对应的依赖包是mysql-connector-java 8.x.x。
- 如果你的Eclipse项目里没添加这个jar包,或者添加了旧版本(比如5.x的,驱动类是
com.mysql.jdbc.Driver),就会触发ClassNotFoundException或者连接失败。 - 添加方法:右键项目 → Build Path → Add External Archives,选择下载好的
mysql-connector-java-8.x.x.jar文件。
3. 核对账号、密码和数据库名称的正确性
- 先确认
root用户能通过密码Ekarlekarl1!正常登录MySQL:打开MySQL客户端,执行mysql -u root -p,输入密码后看能否成功登录。 - 登录后执行
show databases;,确认sqldb这个数据库确实存在。
4. 调整时区参数(可选)
你的URL里已经配置了serverTimezone=UTC,这是MySQL 8.x的必填项,但有时候UTC时区和本地MySQL的时区不匹配也会出问题,可以尝试换成你所在的时区,比如:
String url = "jdbc:mysql://localhost:3306/sqldb?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai";
5. 打印完整的错误栈信息定位问题
你当前只打印了Error: " + e,这样看不到详细的错误原因。建议修改SQLException的catch块,打印完整的错误栈:
catch (SQLException e) { e.printStackTrace(); }
这样能看到具体是“访问被拒绝”“数据库不存在”还是“驱动不兼容”等问题,方便精准排查。
内容的提问来源于stack exchange,提问作者star2788
相关产品推荐
相关产品推荐

