解决:CannotAcquireResourceException: A ResourcePool could notacquire a resource from its primary fa...

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database!Caused by: com.

Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database!
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could notacquire a resource from its primary factory or source.

可能解决该问题的办法有:
1,驱动配置有误:driver=com.mysql.jdbc.Driver
2,数据库连接地址有误:url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
3,密码或帐号有误:username=root password=root
(上面三条一般都写在配置文件中,且一般不会写错)
4,数据库未启动或无权访问
5,项目未引入对应的数据库驱动
6,mysql root没有远程访问的权限,需要增加权限(如果是连接本地localhost数据库则不需要,连接远程数据库才需要),增加权限的步骤如下:
进入mysql数据库:
grant all privileges on . to 'root'@'%' identified by 'root' with grant option;
flush privileges;

如果以上都没问题,那可能是数据库驱动版本的问题:
  • 特别注意:不同mysql版本,对应所需要的驱动版本也不同。如常用的MySQL 5.7,使用mysql-connector-java-5.x.x-bin.jar。
    我这次遇到这个问题,是我新系统安装的最新MySQL 8.0.11,却使用的mysql5的驱动,由此产生了这个异常。所以更换MySQL 8对应的驱动就可以了。
  • MySQL 8使用的是新驱动com.mysql.cj.jdbc.Driver
  • 还有一点:MySQL在高版本需要指明是否进行SSL连接useSSL=false
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
8月前
Cannot load keys from store: class path resource
Cannot load keys from store: class path resource
404 0
|
编译器
[C++11]中 =delete和=default
[C++11]中 =delete和=default
75 0
[C++11]中 =delete和=default
|
数据库
This scheduler instance (XXXXX) is still active but was recovered by another
This scheduler instance (XXXXX) is still active but was recovered by another
254 0
|
数据库
Field ‘id‘ doesn‘t have a default value
Field ‘id‘ doesn‘t have a default value
178 0
|
索引
ES报错:“type“=>“cluster_block_exception“, “reason“=>“blocked by: [FORBIDDEN/12/index read-only / allow
ES报错:“type“=>“cluster_block_exception“, “reason“=>“blocked by: [FORBIDDEN/12/index read-only / allow
388 0
ES报错:“type“=>“cluster_block_exception“, “reason“=>“blocked by: [FORBIDDEN/12/index read-only / allow
|
Android开发
Could not get resource ‘https://dl.google.com/dl/android/maven2/com/android/
Could not get resource ‘https://dl.google.com/dl/android/maven2/com/android/
461 0
|
SQL 数据库管理 关系型数据库
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
测试环境:OEL6.5+Oracle 11g R2在进行执行计划测试的时候,遇到一个小问题。在用普通用户执行下面这条命令的时候,普通用户名为hhu,已经赋予了create session和resource权限。
1133 1