2013-11-28 144 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'] }'" %> 
相关问题