无法获取数据库连接池的连接:Connections could not be acquired from the underlying database!

一、问题描述

  • 异常信息:

java.sql.SQLException: Connections could not be acquired from the underlying database

二、原因排查

  • 通过上网查证,主要是可能有三类问题导致这个错误
  • 第一类:数据库的权限问题
    • 数据库未启动或无权访问
    • mysql root没有远程访问的权限,需要增加权限
  • 第二类:配置信息错误
    • 驱动配置有误:driver=com.mysql.cj.jdbc.Driver
    • 数据库连接地址有误:url=jdbc:mysql://localhost:3306/test?3useUnicode=true&characterEncoding=utf8
    • 密码或帐号有误
    • 这里多说一句,如果是账号密码错误会显示以下错误信息:Access denied for user 'root'@'localhost' (using password: YES))
  • 第三类:MySQL驱动版本问题
    • 在没有低级失误的情况下,大概率是这里导致的

三、解决方案

去官网下载其他版本的驱动即可。最好是MySQL版本和驱动版本一致。

  • 下载驱动时,主要注意两点
    • 选择 Platform Independent版本的驱动
    • 下载版本和mysql服务器一致的版本号

四、反思总结

  • 开发中,最好选择版本一致的软件、驱动,避免不必要的麻烦。遇到问题能很快解决还好,一旦停滞,影响了进度和心情就得不偿失啦。

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...