的最大连接数参数设置不足。解决方法:修改 MySQL 安装目录下 my.ini 或者 my.cnf 文件内的
max_user_connections 参数的数值,重启 MySQL 服务器。
但是正常来说,MySQL默认的100个连接数是足够的。我们需要从程序上去考虑。MySQL的默认最大连接数为100(N),实际给普通
用户使用只有N-1个,保留一个连接是留给超级管理员使用的,防止连接占满了不会把管理员也踢出来。很多网站在运行的时候都会出现连接数受限现象,我认为
十之八九并非是网站的真实访问量太大导致连接数超标,更多是因为我们在设计网站程序的时候采用了不合理的设计架构或数据结构引起的。非正常连接超限可能原
因如下(天缘即时归纳未必完整或无错讹仅供参考):
类似人数、在线时间、浏览数等统计功能与主程序数据库同属一个数据空间时就很容易出现。
复杂的动态页尤其是用户每次浏览都涉及到多数据库或多表 *** 作时候也很容易出现。
还有就是程序设计的不合理(比如复杂运算、等待等 *** 作放置在数据库交互行为中间进行),或者程序存在释放BUG。
计算机硬件配置太低却安装太高版、太高配置的MySQL。
未采用缓存技术。
数据库未经过优化或表格设计及其复杂。
等等一些原因,都会延长数据库的数据交互时间或增加交互次数。所以,如果大家遇到这类问题,首先要考虑程序是否存在BUG导致连接释放失败,
再次就是考虑优化软硬件。当然修改MySQL连接数也是软件优化的 *** 作方法之一,希望大家都能够本着学习的态度通过研究一下自身的原因从而解决这一问题。
如果实在是找不到原因,那就只好先修改连接数,暂缓定位真实原因了。
mysql的最大连接数默认是100,这个数值对于并发连接很多的数据库应用是远远不够的,当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些。
调节方法为:
1.linux服务器中
:改my.cnf中的值就行了
2.Windows服务器中(我用的):
在文件“my.ini”中找到段
[mysqld],在其中添加一行
max_connections=200###
200可以更改为想设置成的值.
然后重启"mysql"服务。
/mysqladmin所在路径/mysqladmin -uroot -p variables
输入root数据库账号的密码后可看到
| max_connections | 1000 |
其他需注意的:
在编程时,由于用mysql语句调用数据库时,在每次之执行语句前,会做一个临时的变量用来打开数据库,所以你在使用mysql语句的时候,记得在每次调用完mysql之后就关闭mysql临时变量。
另外对于访问量大的,可以考虑直接写到文本中,根据预测的访问量,先定义假若是100个文件文件名依次为1.
txt,2.
txt
100.
txt。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)