2013-11-28 186 views
0

我經常運行MySQL max_user_connections限制。部署Rails應用程序時出現MySQL max_user_connections錯誤

可能在部署後,當我嘗試運行某種類型的命令(如rake db:migrate)或嘗試訪問控制檯時。

我理解這個限制,並且升級到付費計劃可能會更好......但同時我在嘗試初始部署Rails應用程序時遇到了這個問題。

有什麼我可以做的,以防止它?

full error

Mysql2::Error: User 'xxxxxx' has exceeded the 'max_user_connections' resource (current value: 2) 

回答

0

這樣做的原因是,在零停機時間部署舊,並在同一時間長達兩分鐘的新版本上運行,而路由層確保新請求轉到新版本,而舊版本則完成任何未決請求。

爲了避免遇到與免費的MySQL附加組件連接錯誤,您必須設置滑軌連接池,以便僅打開最多1個連接。

你的database.yml應該是這個樣子的生產環境:

production: 
    adapter: mysql2 
    encoding: utf8 
    pool: 1 
    database: <%= "'#{ ENV['MYSQLS_DATABASE'] }'" %> 
    host: <%= "'#{ ENV['MYSQLS_HOSTNAME'] }'" %> 
    port: <%= ENV["MYSQLS_PORT"] %> 
    username: <%= "'#{ ENV['MYSQLS_USERNAME'] }'" %> 
    password: <%= "'#{ ENV['MYSQLS_PASSWORD'] }'" %> 
相關問題