Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
部署Rails应用程序时出现MySQL最大用户连接错误_Mysql_Ruby On Rails_Cloudcontrol - Fatal编程技术网

部署Rails应用程序时出现MySQL最大用户连接错误

部署Rails应用程序时出现MySQL最大用户连接错误,mysql,ruby-on-rails,cloudcontrol,Mysql,Ruby On Rails,Cloudcontrol,我经常遇到MySQLmax\u user\u connections的限制 可能是在部署之后,当我尝试运行某种命令,如rakedb:migrate或尝试访问控制台时 我理解这一限制,升级到付费计划可能更好。。。但与此同时,我在尝试初始部署Rails应用程序时遇到了这个问题 我能做些什么来防止它 : 原因是,对于零停机时间部署,旧版本和新版本同时运行最多两分钟,而路由层确保新请求转到新版本,而旧版本完成所有挂起的请求 为了避免在免费的MySQLs插件中遇到连接错误,您必须将rails连接池设置为最

我经常遇到MySQL
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'] }'" %>