就是做一个通过Spring JdbcTemplate连接数据库的Demo,发生了错误,花了很长时间解决,记下来希望可以帮到碰到类似问题的人!
控制台大概就是这么一堆连接错误
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Communications link failure
Last packet sent to the server was 0 ms ago.)
网上搜了一些解决方案,有如下几种原因:
1.MySQL服务没有打开
2.连接的url,jdbc:mysql://localhost:3306/database_name 中,可能你的主机名不是localhost,改用127.0.0.1试试
3.用户名或者密码配置错误
4.网络问题
5.数据库连接数过多(之前的连接没有关闭)
6.jar包可能存在问题
再排查了各种可能的小错误后,发现我的问题是数据库连接数引起的。
1.首先,查看了自己数据库连接状态
mysql> show status like 'Threads%';
1.查询数据库当前设置的最大连接数
这儿我第一次查询没有结果,在my.ini中没有设置这个选项
找到自己的my.ini文件,在[mysqld]下加一句
数字可自己按需要设置。
修改完成后,重启MySQL服务,解决问题。