解决mysql报错:Data source rejected establishment of connection, message from server: \”Too many connectio

当使用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技术站

(2)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 详解Mysql多表联合查询效率分析及优化

    详解Mysql多表联合查询效率分析及优化 在使用MySQL数据库进行多表联合查询时,查询效率可能会很低,需要进行一定的优化。本文将详细讲解MySQL多表联合查询的优化攻略。 1.使用JOIN语句代替子查询 在MySQL中,使用JOIN语句可以代替子查询,可以提高查询效率。下面是一个使用子查询的示例: SELECT * FROM TableA WHERE id…

    MySQL 2023年5月19日
    00
  • Swoole 协程 MySQL 客户端与异步回调 MySQL 客户端的对比

    为什么要对比这两种不同模式的客户端? 异步 MySQL 回调客户端是虽然在 Swoole 1.8.6 版本就已经发布了,但是异步回调的层层嵌套,让编码变得很别扭。如今 Swoole 4.3 版本都已经发布了,并且已经支持协程化的 MySQL 客户端,这意味着可以完全采用同步编码的模式,来进行程序开发了,对于开发者来说这是一个大好的消息。而且在 Swoole …

    MySQL 2023年4月13日
    00
  • MySQL数据库误操作后快速回滚的方法

    下面是详细讲解MySQL数据库误操作后快速回滚的方法的攻略: 1. 概述 MySQL是一款常用的关系型数据库系统。在使用MySQL过程中,偶尔会发生误操作,比如删除错误的数据、修改错误的数据等,这些误操作可能会对数据库造成严重的影响。如果没有备份,将会带来无法挽回的后果。因此,本文将介绍一些MySQL数据库误操作后快速回滚的方法,以防止误操作对数据库造成的影…

    MySQL 2023年5月18日
    00
  • WordPress性能优化加速五大方法:PHP MysqL优化等

    下面是针对“WordPress性能优化加速五大方法:PHP MysqL优化等”的完整攻略: 一、优化主题和插件 主题和插件是WordPress网站的核心组成部分,但是低质量的主题和插件会导致网站运行缓慢。我们可以通过以下方法优化它们: 删除不必要的插件和主题,只保留必要的; 选择高质量的主题和插件,不要使用过时或者弃用的插件; 定期更新主题和插件。 二、优化…

    MySQL 2023年5月19日
    00
  • 一次docker登录mysql报错问题的实战记录

    下面我将为你详细讲解一次docker登录mysql报错问题的实战记录的完整攻略。 问题描述 在使用 docker 运行 mysql 时,执行docker exec -it mysql bash进入mysql容器内后使用mysql -uroot -p命令登录 mysql 数据库时,报错如下: ERROR 1045 (28000): Access denied …

    MySQL 2023年5月18日
    00
  • MySQL DATEDIFF() 函数

    定义和用法 DATEDIFF() 函数返回两个日期之间的天数。 语法 DATEDIFF(date1,date2) date1 和 date2 参数是合法的日期或日期/时间表达式。 注释:只有值的日期部分参与计算。 实例 例子 1 使用如下 SELECT 语句: SELECT DATEDIFF(‘2008-12-30′,’2008-12-29’) AS Dif…

    MySQL 2023年4月13日
    00
  • Django 连接mysql数据库中文乱码

    2018年08月25日 20:55:15 可乐乐乐乐乐 阅读数:566   版本:CentOS6.8 python3.6.4 django1.8.2 数据库pymysql 我使用的终端是CentOS终端,CentOS桌面版安装的pycham,windows使用Navicat连接mysql数据库。 我遇到的情况大致这样,在CentOS终端进入mysql,然后查…

    MySQL 2023年4月13日
    00
  • MySQL8.0与MySQL5.7的区别详解

    MySQL 8.0 与 MySQL 5.7 的区别详解 MySQL 8.0 相对于 MySQL 5.7 ,在很多方面做了重大的更新和改进。下面详细讲解 MySQL 8.0 与 MySQL 5.7 的区别。 新增特性和功能 MySQL 8.0 版本增加了许多新的功能和特性,比如下面几个。 安全性 MySQL 8.0 增强了安全性,除了支持更多的密钥长度之外,还…

    MySQL 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部