mysql - PHP SQL 查询达到 max_user_connections

WBOY
풀어 주다: 2016-07-06 13:51:38
원래의
1402명이 탐색했습니다.

出现问题的程序是个皮肤站,经常需要进行数据库查询。自己有基于 mysqli 封装的一个数据库类,在 __destruct() 里写入了关闭当前数据库连接的语句以保证不会留下大量无用连接。

然而最近有用户反馈出现了 User 'u173999462_rg' has exceeded the 'max_user_connections' resource (current value: 3) 报错,达到了最大连接数的上限。

因为 MySQL 默认是不限制 max_user_connections 的,所以开发的时候也没有特别注意,只是在析构函数里关闭了连接。单单这样是不行的吗?

程序数据库类地址:@GitHub

请问有什么优化方法吗?

回复内容:

出现问题的程序是个皮肤站,经常需要进行数据库查询。自己有基于 mysqli 封装的一个数据库类,在 __destruct() 里写入了关闭当前数据库连接的语句以保证不会留下大量无用连接。

然而最近有用户反馈出现了 User 'u173999462_rg' has exceeded the 'max_user_connections' resource (current value: 3) 报错,达到了最大连接数的上限。

因为 MySQL 默认是不限制 max_user_connections 的,所以开发的时候也没有特别注意,只是在析构函数里关闭了连接。单单这样是不行的吗?

程序数据库类地址:@GitHub

请问有什么优化方法吗?

找找PHP的单例模式看看应该就能够解决问题le,你遇到的问题是不能够复用MySQL连接的问题

1、简单一点,把这个数值设置高就可以了
2、提高机器配置,也可以解决
3、难道没用缓存?我理解是如果数据更新不频繁,直接 redis 放着,做个缓存策略就可以了。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿