【发布时间】:2013-03-30 20:53:01
【问题描述】:
我刚刚将我的网站转移到 Linode,我目前正在使用它的 1 GB RAM 计划。默认情况下,mysql用户数设置为100。这导致Too many connections错误。
我在这个的帮助下再次编辑了 mysql 设置。但是,现在数据库几乎每天都在崩溃!
这是我当前的 mysql 设置:-
key_buffer = 100M
max_allowed_packet = 1M
thread_stack = 128K
thread_cache_size = 8
myisam-recover = BACKUP
max_connections = 150
table_cache = 1024
query_cache_limit = 300M
query_cache_size = 300M
max_allowed_packet = 16M
key_buffer = 100M
谁能建议我一些更改或我的数据库如此频繁崩溃的原因?我还可以按需添加有关我的服务器的更多详细信息。
编辑
我在各处都添加了 mysql_close($con),但这进一步增加了我网站的问题。连接数呈指数增长,结果如下所示:-
mysql> show status like '%onn%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| Aborted_connects | 48 |
| Connections | 1634 |
| Max_used_connections | 8 |
| Ssl_client_connects | 0 |
| Ssl_connect_renegotiates | 0 |
| Ssl_finished_connects | 0 |
| Threads_connected | 4 |
+--------------------------+-------+
7 rows in set (0.00 sec)
谢谢!
【问题讨论】:
-
嗨 Prashant,您是否有未正确关闭的连接?当我过去遇到这种情况时,这是由于连接没有关闭。除非你在这个盒子上获得了大量的流量,否则你甚至不应该达到 100 个用户的限制。
-
文件执行结束时默认不关闭连接吗?
-
嗨,Prashant,必须明确关闭连接 - 您在查询数据库的网站上使用什么语言?
-
我个人使用名为 Navicat 的第 3 方工具 - 它有一个很好的界面来显示打开的连接 - 但是这可能在 MySql Work Bench 中可用 - 尽管我最近使用过这个