2011-11-29 143 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提供的數據庫。我不(也不應該)擁有超級訪問權限。或者我在這裏錯過了什麼? –

相關問題