Loading [MathJax]/jax/output/CommonHTML/jax.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【数据库连接异常】MySQLNonTransientConnectionException: Could not create connection to database server.

【数据库连接异常】MySQLNonTransientConnectionException: Could not create connection to database server.

作者头像
.29.
发布于 2023-10-17 09:18:42
发布于 2023-10-17 09:18:42
56400
代码可运行
举报
文章被收录于专栏:个人技术博客个人技术博客
运行总次数:0
代码可运行

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~

Maven项目管理时,连接数据库报错

一、报错内容

在JDBC连接数据库时,代码没有错,运行却出现报错信息:

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at org.junit.runners.ParentRunner1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at org.junit.runners.ParentRunner.access


二、分析与解决

我出现这个问题后,找到的原因是:Maven添加管理的mysql-connector-java依赖版本与下载使用的MySQL版本不一致导致的无法获取数据库连接对象。

  • Maven添加的版本:5.1.37
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.37</version>
</dependency>

  • 实际下载使用的MySQL版本:8.0.31

解决方案

  • 将IDEA项目中Maven的pom.xml配置文件中添加的依赖版本改为自己正在使用的MySQL版本即可:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.31</version>
        </dependency>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
**改完后记得重启IDEA**

测试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    @Test
    public void testGetConnection(){
        Connection connection = JDBCUtils.getConnection();
        System.out.println("connection = " + connection);
    }
}

成功获取连接对象,问题解决:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Hibernate之一级缓存和二级缓存
本文介绍了如何使用Hibernate进行二级缓存,包括一级缓存和二级缓存,以及缓存的配置、使用策略和缓存策略等。
别先生
2018/01/02
9800
java9系列(五)Stack-Walking API
java9新增这个类的目的是提供一个标准API用于访问当前线程栈,之前只有Throwable::getStackTrace、Thread::getStackTrace以及SecurityManager::getClassContext提供了方法可以获取线程栈。
code4it
2018/09/17
7670
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
别先生
2018/01/02
1.5K0
freemarker自己定义标签报错(三)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/118342.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/13
4560
学习Spring——两个你熟悉的不能再熟悉的场景使用
  最近公众号受邀获取了留言和赠送模板的权限,小开心(欢迎去公众号JackieZheng围观)。   我们大致的了解了Spring这个框架对于依赖注入的使用和诠释可谓是淋漓尽致。因为有了Spring的这个IOC也好DI也好,我们把上街买菜的事情变成了菜主动送上门的活,这样的“生活方式”大大的提高了我们对于Spring框架的用户体验。   今天主要说两件事,想必凡是稍稍接触过Spring框架开发的对于这些场景肯定都是眼熟透了——Spring如何使用多个外部属性文件以及基于注解方式配置Bean。 1. Spri
JackieZheng
2018/01/16
6780
学习Spring——两个你熟悉的不能再熟悉的场景使用
Mybatis | Mybatis学习笔记(上)
Maven没有在build中配置resource,导致资源读取不到,因为正常情况下,xml配置文件应该放在resources目录下,而Maven约定大于配置,所以可能读取不到
啵啵鱼
2022/11/23
9140
Mybatis | Mybatis学习笔记(上)
SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required
java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:526) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:513) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:505) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:479) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:489) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:72) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:1606) at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:633) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:347) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:219) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at com.alibaba.xxptqa.util.MySqlConnectionUtil.get(MySqlConnectionUtil.java:26) at com.alibaba.xxptqa.util.DbUtil.query(DbUtil.java:12) at com.alibaba.xxptqa.api.MuradinDbExecutor.execute(MuradinDbExecutor.java:24) at com.alibaba.xxptqa.api.MuradinDbExecutorTest.testQuery(MuradinDbExecutorTest.java:25) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.Bloc
一个会写诗的程序员
2018/08/17
1.4K0
java.sql.BatchUpdateException: Can not issue SELECT via executeUpdate() or executeLargeUpdate().
java.sql.BatchUpdateException: Can not issue SELECT via executeUpdate() or executeLargeUpdate().
一个会写诗的程序员
2018/08/17
2.2K0
Jedis集群测试_李孟_新浪博客
//创建集群节点集合   Set nodes=new HashSet<>();   nodes.add(new HostAndPort("192.168.193.129", 7001));   nodes.add(new HostAndPort("192.168.193.129", 7002));   nodes.add(new HostAndPort("192.168.193.129", 7003));   nodes.add(new HostAndPort("192.168.193.129", 7004));   nodes.add(new HostAndPort("192.168.193.129", 7005));   nodes.add(new HostAndPort("192.168.193.129", 7006));   //创建集群对象   JedisCluster cluster=new JedisCluster(nodes);   cluster.set("cluster1", "Hello  World!");   System.out.println(cluster.get("cluster1"));   cluster.close();
Dlimeng
2023/06/27
2390
公司新来一个干练小伙,把 MyBatis 替换成 MyBatis-Plus,上线后哭晕在厕所。。。
一个老项目,数据库用的是 MySQL 5.7.36 , ORM 框架用的 MyBatis 3.5.0 , mysql-connector-java 版本是 5.1.26
搜云库技术团队
2024/05/11
2440
公司新来一个干练小伙,把 MyBatis 替换成 MyBatis-Plus,上线后哭晕在厕所。。。
map和object相互转换的几种方法和对比
从这点来看,beanutils比反射好用,它里面做了大量的转换工作,反射的方法更多需要你自己来处理。
用户7634691
2020/08/10
5.6K0
与面试官聊try-catch-finally关闭资源,你的答案还是10年前的?
有编程经验的朋友都知道,在程序运行中如果打开了一些资源,那么当发生异常或程序结束时都需要进行资源的关闭,不然会造成内存溢出的问题。
程序新视界
2021/12/07
7050
JDK 8 中的LocalDate不符合正常逻辑的解析报错: Unable to obtain LocalDateTime from TemporalAccessor: {Year=2019, ...
I am simply trying to convert a date string into a DateTime object in Java 8. Upon running the following lines:
一个会写诗的程序员
2019/06/25
8.8K0
大型项目架构搭建_高内聚、低耦合(1)
软件开发中的项目的架构的终极目标就六个字: 高内聚、低耦合; 架构搭建好了,后期可维护性才能提高,在这基础上,如果还想提高项目的高效性,就只能从算法着手 如果项目中算法都已经做到极致了,还想提高项目的高效性,怎么办?(算法并不一定能处理高并发的问题) 就要用到中间件的技术了 下面我就从这三方面来搭建一个项目 假设我们有个这么需求 我公式和YC公式合作,开发一个项目,这个项目功能是用来测量东西的一个项目,我们公式在存储数据方面做得好,YC公司所以要和我们合作,要我们做一个对数据进行保存的容器,他们公司直
汤高
2018/01/11
1.2K0
connection closed gracefully_kalilinux中文乱码
最终通过修改服务器上文件的权限得以顺利执行,用此方法存文件需要文件对这个用户开放执行(x)的权限我直接设置的(rwx)
全栈程序员站长
2022/09/27
4410
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
本文介绍了如何在Windows系统下配置Hadoop环境,并实现通过Java操作HBase进行数据表创建、删除、更新和查询。主要包括了配置环境变量、配置Hadoop、创建HBase表、使用HBase Java API进行操作等步骤。在开发过程中需要注意一些细节,例如环境变量配置、HBase和Hadoop的版本适配问题等。通过本文的介绍,可以帮助开发人员快速搭建起一套可运行的Hadoop和HBase集成环境,为进一步的Hadoop和HBase应用开发提供支持。
别先生
2018/01/02
1.4K0
都说了能不动就别动,非要去调整,出生产事故了吧
  一个老项目,数据库用的是 MySQL 5.7.36 , ORM 框架用的 MyBatis 3.5.0 , mysql-connector-java 版本是 5.1.26
青石路
2024/02/24
1790
都说了能不动就别动,非要去调整,出生产事故了吧
mybatis连接oracle
原因:oracle jdbc并不能向mysql那样直接配置,原因是Oracle授权问题,Maven不提供oracle JDBC driver,需要手动配置下,这里直接去官网下载,将jar包手动导入idea中
微醺
2019/01/17
1.7K0
freemarker错误九
不能将日期类型直接转换为字符串。由于不知道是日期类型中的哪一种在使用。是date、time还是datetime。而且不知道转换成字符串日期究竟显示成什么格式,是yyyy-MM-dd。还是HH:mm:ss,还是yyyy-MM-dd HH:mm:ss
全栈程序员站长
2022/07/05
3250
Java10的新特性
上面列出的是大方面的特性,除此之外还有一些api的更新及废弃,主要见What’s New in JDK 10 - New Features and Enhancements,这里举几个例子。
code4it
2018/09/17
5150
推荐阅读
相关推荐
Hibernate之一级缓存和二级缓存
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验