【问题标题】:Mysql has exceeded the max_user_connections error on c# websitemysql已经超过c#网站上的max_user_connections错误
【发布时间】:2012-04-29 09:47:53
【问题描述】:

最近我一直在做的一个c#网站一直在抛出一个-

mysql 已超过 'max_user_connections

错误。我检查了我的代码,并相信我应该关闭所有打开的连接。运行SHOW PROCESSLIST 命令后,它列出了许多状态为“睡眠”且“信息”为空的进程,类似于这个堆栈溢出问题 -

Mysql show processlist lists many processes sleep and info = null?

我可以在数据库设置或连接字符串中做些什么来防止 MySql 挂在进程上吗?我的连接字符串目前看起来像这样 -

server=server;User Id=user;password=****;Persist Security Info=True;database=mysql5_867860_footytriv;Pooling=true;Min Pool Size=10;Max Pool Size=15

网站托管在 discountasp.net 上

【问题讨论】:

  • 通常这意味着你不要关闭你的连接,我会再次检查并在 using 语句中封装每个新的 MySqlConnection。
  • 你的连接字符串是什么?你在你的连接上使用“使用”吗?

标签: c# mysql


【解决方案1】:

这需要大量调查。通常如您所知,MYSQL 从连接池中管理连接实例。有时,所有连接都在使用中。

这导致我们进入 2 个问题:
1. 有一些查询需要很长时间才能执行,所以它没有释放连接(一些冗余查询、长时间运行的查询等)
2.服务器负载太高,硬件配置不足以处理这么多用户。

在得出结论之前,您必须衡量所有这些。您可以调整配置文件以增加内存、无连接等,但我认为这对您没有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    • 2010-10-21
    • 2013-12-22
    • 2012-07-01
    相关资源
    最近更新 更多