Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A Res
三、解决办法:一一核对用户名、密码、URL、Driver等是否完全正确,并且检查数据库实例是否正确。
以上问题可能有以下原因造成:
1,驱动配置有误:driver=com.mysql.jdbc.Driver
2,数据库连接地址有误:url=jdbc:mysql://localhost:3306/test?3useUnicode=true&characterEncoding=utf8
3,密码或帐号有误:username=root, password=root
4,数据库未启动或无权访问
5,项目未引入对应的驱动jar包mysql-connector-java-5.1.6-bin.jar
6,mysql root没有远程访问的权限,需要增加权限,增加权限的步骤如下:
进入mysql数据库:
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
7.在普通java项目中使用 mybatis+C3p0+spring时也遇见上述问题。
问题原因是:在xml配置文件中显示声明了自动装载 <beans default-autowire="byName"> 几经折腾,把自动装载设置去掉,就没有问题了,应该使用默认的 byType。
每次保存文件的时候,myEclipse会自动的把工程部署到服务器,而每次部署都会占用连接池的连接,多次之后,连接达到了连接池的上限,再来一次的时候连接池就连接不上了,所以出现了这样的问题,此时我们只要重新启动服务器即可
8.特别注意不同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