当使用mysql连接池时,可能会遇到 “Data source rejected establishment of connection” 报错,这通常是由于数据库连接数过多导致的,可以通过优化连接池参数或增加数据库最大连接数等方式来解决这个问题。
以下是解决该问题的完整攻略:
1. 查看当前的最大连接数
执行以下命令查看当前mysql数据库的最大连接数:
show variables like 'max_connections';
如果输出为默认值的151,那么可以考虑增加最大连接数。
2. 增加最大连接数
修改my.conf或my.ini文件
在mysql的配置文件(my.conf或my.ini)中,找到 [mysqld] 这个配置块,然后使用以下命令将最大连接数值修改为512:
[mysqld]
max_connections=512
修改完成后,需要重启mysql服务才能生效。
3. 检查连接池参数
如果在使用连接池时出现 “Data source rejected establishment of connection” 报错,可能是由于连接池参数设置不合理导致的。可以通过以下方式检查连接池参数是否正确:
//获取连接池的最大活跃连接数
dataSource.getMaxActive();
//获取连接池的最大空闲连接数
dataSource.getMaxIdle();
//获取连接池的最小空闲连接数
dataSource.getMinIdle();
//获取连接池的等待时间,默认为-1,表示一直等待
dataSource.getMaxWaithMillis();
如果以上参数设置过低,可以考虑适当调整参数值。
示例1:
检查连接池参数是否正确的示例代码如下所示:
BasicDataSource dataSource = new BasicDataSource();
dataSource.setUsername("root");
dataSource.setPassword("root");
//设置最大连接数
dataSource.setMaxActive(512);
//设置最大空闲连接数
dataSource.setMaxIdle(256);
//设置最小空闲连接数
dataSource.setMinIdle(10);
//设置等待时间为10秒
dataSource.setMaxWaitMillis(10000);
示例2:
修改mysql的最大连接数的示例代码如下所示:
#找到my.conf或my.ini文件,添加以下配置信息
[mysqld]
max_connections=512
以上就是解决mysql报错 “Data source rejected establishment of connection, message from server: \"Too many connection”的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决mysql报错:Data source rejected establishment of connection, message from server: \”Too many connectio - Python技术站