2011-11-29 144 views
0

我读到Bluehost将一个用户的数据库连接数限制为15个。我相信我的web应用正在使用所有这些连接。每当我尝试使用蛋糕控制台访问数据库,我收到以下错误:Cakephp:是否可以限制数据库连接的数量?

2011-11-29 05:06:58 Warning: Warning (2): mysql_connect() [function.mysql-connect]: User myusername already has more than 'max_user_connections' active connections in [/home2/myusername/public_html/myapp/cake/libs/model/datasources/dbo/dbo_mysql.php, line 561]

我怎样才能确保有用于蛋糕控制台使用的连接?

编辑:

只是要清楚,我的应用程序没有运行出的连接。但是,每次我试图从蛋糕控制台访问数据库我得到该错误。这使我相信,蛋糕是由于某种原因创建和保持关系。

+0

您确定您的app/config/database.php中没有配置持久数据库连接吗?否则,Cake完成解析后应该关闭该数据库连接。或者你是否试图同时启动15个以上的请求? – Oldskool

+0

不是。不使用持久连接。我会尝试复制开发中的错误。 var $ production = array('driver'=>'mysql','persistent'=> false,'host'=>'localhost','prefix'=>'',...); –

+0

你可以告诉这是托管服务提供商的限制:他们同时不允许超过15个请求。也许你可以通过在某个级别缓存来解决这个问题(避免每次都去db),但是这个托管显然不是为了扩展。 – sibidiba

回答

0

如果您有root用户帐户(或具有超级权限),
您可以更改命令行脚本中使用根进行连接,达到(MAX + 1)


作为根连接连最大连接您可以使用php_sapi_name来区分正常的网络访问或通过控制台。

我不认为最多连接15封顶,
如果是这样,你应该考虑另一个托管公司,而不是其他的BlueHost的(因为是吸)...

为了验证这一点,问题像SQL: -

show variables like "max%"; 
+0

感谢您的回复。我使用了你建议的命令,'max_user_connections'确实是15.'max_user_connections'限制了任何给定帐户可以同时连接的数量。不幸的是,我是这个网站的第三方开发者,所以我必须处理bluehost。 –

+0

mysqld实际上允许max_connections + 1个客户端连接。额外的连接被保留供具有SUPER特权的帐户使用。 – ajreal

+0

该应用正在使用由bluehost提供的数据库。我不(也不应该)拥有超级访问权限。或者我在这里错过了什么? –

相关问题