当前位置:   article > 正文

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

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

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
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/627450
推荐阅读
相关标签
  

闽ICP备14008679号