这条错误信息是报告:SQL数据库当前的用户连接数太多。
根据 X/Open 和 SQL Access Group SQL CAE 规范 (1992) 所进行的定义,SQLSTATE 值是包含五个字符的字符串,五个字符包含数值或者大写字母, 代表各种错误或者警告条件的代码。
SQLSTATE有个层次化的模式:头两个字符标识条件的通常表示错误条件的类别, 后三个字符表示在该通用类中的子类。成功的状态是由 00000 标识的。SQLSTATE 代码在大多数地方都是定义在 SQL 标准里的。
扩展资料:
SQL作为一种 *** 作命令集, 以其丰富的功能受到业内人士的广泛欢迎, 成为提升数据库 *** 作效率的保障。SQL Server数据库的应用,能够有效提升数据请求与返回的速度,有效应对复杂任务的处理,是提升工作效率的关键。
由于SQL Servers数据库管理系统具有较高的数据管理性能,因其优越的性能,应用范围非常广,大量应用于服务器和客户体系结构中。SQL Servers数据库的性质主要由以下几个方面体现:系统的吞吐量、响应时间以及并行处理能力, 发出请求服务器回应的速度、还有不同屏幕之间切换的速度等等。
参考资料来源:百度百科-SQL数据库
【一】尝试以下解决方法:
在命令行中输入services.msc 找到mysql,关闭重启;
找到my.ini或者my.cnf文件,在[mysqld]下加上max_connections=1000,然后重启mysql;
删除没用的连接。登陆到mysql的提示符下,数据show processlist这个命令,可以得到所以连接到这个服务器上的mysql连接
修改mysql配置文件/etc/my.cnf,设置成max_connections=1000,wait_timeout=5。
检查程序代码,对于没有关闭的链接及时进行关闭
【二】可能引起问题的原因
连接池配置的太小;
其他应用连接了mysql之后没有释放连接;
连接数超过了 MySQL 设置的值,wait_timeout 的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大。
MySQL服务器的连接数并不是要达到最大的100%为好,还是要具体问题具体分析,下面就对MySQL服务器最大连接数的合理设置进行了详尽的分析,供您参考。\x0d\x0a我们经常会遇见“MySQL:ERROR1040:Toomanyconnections”的情况,一种是访问量确实很高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力,另外一种情况是MySQL配置文件中max_connections值过小:\x0d\x0amysql>showvariableslike'max_connections'\x0d\x0a+-----------------+-------+\x0d\x0a|Variable_name|Value|\x0d\x0a+-----------------+-------+\x0d\x0a|max_connections|256|\x0d\x0a+-----------------+-------+\x0d\x0a这台MySQL服务器最大连接数是256,然后查询一下服务器响应的最大连接数:\x0d\x0amysql>showglobalstatuslike'Max_used_connections'\x0d\x0aMySQL服务器过去的最大连接数是245,没有达到服务器连接数上限256,应该没有出现1040错误,比较理想的设置是:\x0d\x0aMax_used_connections/max_connections*100%≈85%\x0d\x0a最大连接数占上限连接数的85%左右,如果发现比例在10%以下,MySQL服务器连接上线就设置得过高了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)