我在生产中有一个管理内部系统和网页的Web应用程序。不仅作为CMS + Web,它们都像用户控制系统,请求管理,CMS和Web一样工作。两个系统都有太多用户(管理员,编辑和最终用户)。系统使用MySQL作为数据库引擎。
所以,你现在处于上下文中。
我遇到以下SQL错误;
Database_Exception [ 0 ]: [1040] Too many connections ~ MODPATH/database/classes/kohana/database/mysql.php [ 67 ]
从服务器端看,这是真的,服务器与数据库引擎的连接太多了。消息是对的。
该网站已关闭。我重新启动Apache,一切正常。 但显然这种情况会发生。
我正在谷歌搜索并阅读MySQL手册,并看到存在一个配置来增加连接数(从151,默认值,到另一个值)。 但是,我正在阅读Kohana配置,我读到存在查询caché系统(进入数据库配置文件)。所以,我不知道该缓存是否在内存中“保存”查询结果,或者缓存“保存”查询本身以防止Query_Builder或ORM过载,因此如果先前生成的查询不重新生成它并只执行它。
我需要一个解决方案,但避免(尽可能可能)MySQL配置修改。
谢谢!
答案 0 :(得分:0)
检查mysql配置文件max_connections
中my.ini
的设置。默认设置为100,您可以将其更改为300或更多。
然后,使用命令netstat -np
查看与mysql连接的进程,并杀死未知进程。
所有更改完成后重启mysql守护程序:
/etc/rc.d/init.d/mysqld restart
如果这没有帮助,请阅读:http://dev.mysql.com/doc/refman/5.5/en/too-many-connections.html
不要忘记所有mysql dbs的make转储。