解决mysql报错:Data source rejected establishment of connection, message from server: \\"Too many connectio
作者:鲲志说 发布时间:2024-01-13 05:53:57
最近在做压力测试嘛,需要逐步增加用户量做验证,每个用户单独创建数据库进行连接,就要不断去创建数据库,这个报错也很容易理解,mysql连接数不够用了
报错
报错信息如下:
"SQLState":"08004","vendorCode":1040,"detailMessage":
"Data source rejected establishment of connection,message from server: \"Too many connections\""
原因
根本原因是mysql连接数不够用了
但也要分情况看为什么不够用了
1.是mysql的max_connections属性配置太小?
2.还是是多次insert,update操作没有关闭session?
如果你也不确定,就继续往下看
解决
我们要知道,mysql版本的不同,可设置的最大连接数范围也是有所区别的:
Mysql5.5~5.7:默认的最大连接数都是151,上限为:100000
Mysql5.0版本:默认的最大连接数为100,上限为16384
查看mysql版本
select version();
如下,我这里是基于mysql 5.7,那么默认的最大连接数应该是151
查看当前mysql最大连接数限制
show variables like 'max_connections';
当前最大连接数限制是151,说明没有改过最大连接数限制
确定连接数不够原因
如上所示,我的情况当前是最大连接数限制是151,在此之前依然创建过十几个数据库;同时我又再次自行检查过,我这里不存在未关闭session的操作
所以原因是max_connections属性配置太小
修改最大连接数
修改mysql客户端最大连接数可以通过两种方式:
一种是使用命令设置,另一种是直接修改my.cnf文件
命令设置
使用命令设置这种方式是临时修改,只能治标不能治本,在这个mysql服务不重启的条件下是可用的,若mysql重启会恢复到mysql默认的连接数(或者恢复到my.cnf文件中配置的最大连接数)。
但由于我是在测试,无所谓,mysql重启后的连接数
set global max_connections=1500;
修改my.cnf文件
mysql重启后会优先使用my.cnf配置文件中的配置,用上面命令设置后,若重启mysql服务,则还是会回到my.cnf文件中配置的最大连接数(或者默认值)。
# 修改my.cnf文件,在文件中加入如下属性
max_connections=1500
# 然后重启mysql服务
$ service mysqld restart
再次去创建数据库连接,就没问题了!
来源:https://blog.csdn.net/m0_37482190/article/details/128714147
猜你喜欢
- 本文为大家分享了python实现俄罗斯方块游戏,继上一篇的改进版,供大家参考,具体内容如下1.加了方块预览部分2.加了开始按钮在公司实习抽空
- 一、reversereverse()是python中列表的一个内置方法(在字典、字符串和元组中没有这个内置方法),用于列表中数据的反转例子:
- 1、800*600下,网页宽度保持在778以内,就不会出现水平滚动条,高度则视版面和内容决定。2、1024*768下,网页宽度保持在1002
- 驱动树莓派gpio的中间层库函数有wiringPi,BCM2835,以及PRi.GPIO,这里我选择使用Python语言开发的PRi.GPI
- 集合数据类型的添加操作在 “redis-py” 中也是通过 “sadd&
- 如下所示:import osimport timeimport subprocesssubprocess.Popen(r'cmd&#
- 本文介绍在Python环境中,实现随机森林(Random Forest,RF)回归与各自变量重要性分析与排序的过程。其中,关于基于MATLA
- Vue3中watch的详解Vue2使用watch<template> <div>总合:{{ sum }}
- 想实现发送邮件需要经过以下几步:1、登录邮件服务器2、构造符合邮件协议规则要求的邮件内容3、发送Python对SMTP支持有smtplib和
- 1、查看当前所有连接的详细资料:./mysqladmin -uadmin -p -h10.140.1.1 processlist2、只查看当
- Microsoft SQL Server 2008将包含用于合并两个行集(rowset)数据的新句法。根据一个源数据表对另一个数据表进行确定
- 一、Pytest简介Pytest is a mature full-featured Python testing tool that he
- 前言MySQL提供了众多功能强大、方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求。本
- 下面为大家举一个例子,请按照下面的步骤: (1)从http://home.gbsource.net/xuankong/dll.z
- 一、UNION和UNION ALL的作用和语法UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行。UNION
- torch.nn.BatchNorm1d()1、BatchNorm1d(num_features, eps = 1e-05, momentu
- 因为工作需求,需要审核一部分query内容是否有效,query储存在Excel中,文本内容为页面的Title,而页面的URL以HyperLi
- 1、生成了身份证前六位地区码对照表JSON文件2、python 读取JSON文件提取码【3297】 json文件下载废话不多说,先上效果图一
- 继续flask的学习之旅。今天介绍flask的登陆管理模块,还记得上一篇中的blog小项目么,登录是咱们自己写的验证代码,大概有以下几个步骤
- 创建变量变量是存放数据值的容器。与其他编程语言不同,Python 没有声明变量的命令。首次为其赋值时,才会创建变量。实例x = 10y =