部署Rails应用程序时出现MySQL最大用户连接错误
我经常遇到MySQL部署Rails应用程序时出现MySQL最大用户连接错误,mysql,ruby-on-rails,cloudcontrol,Mysql,Ruby On Rails,Cloudcontrol,我经常遇到MySQLmax\u user\u connections的限制 可能是在部署之后,当我尝试运行某种命令,如rakedb:migrate或尝试访问控制台时 我理解这一限制,升级到付费计划可能更好。。。但与此同时,我在尝试初始部署Rails应用程序时遇到了这个问题 我能做些什么来防止它 : 原因是,对于零停机时间部署,旧版本和新版本同时运行最多两分钟,而路由层确保新请求转到新版本,而旧版本完成所有挂起的请求 为了避免在免费的MySQLs插件中遇到连接错误,您必须将rails连接池设置为最
max\u user\u connections
的限制
可能是在部署之后,当我尝试运行某种命令,如rakedb:migrate
或尝试访问控制台时
我理解这一限制,升级到付费计划可能更好。。。但与此同时,我在尝试初始部署Rails应用程序时遇到了这个问题
我能做些什么来防止它
:
原因是,对于零停机时间部署,旧版本和新版本同时运行最多两分钟,而路由层确保新请求转到新版本,而旧版本完成所有挂起的请求 为了避免在免费的MySQLs插件中遇到连接错误,您必须将rails连接池设置为最多只打开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'] }'" %>
生产:
适配器:mysql2
编码:utf8
游泳池:1
数据库:
主持人:
端口:
用户名:
密码:
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'] }'" %>