0

我经常遇到 MySQL 的max_user_connections限制。

当我尝试运行某种命令(例如rake db:migrate或尝试访问控制台)时,可能在部署之后。

我理解这个限制,并且升级到付费计划可能会更好......但同时我在尝试初始部署 Rails 应用程序时遇到了这个问题。

我能做些什么来防止它吗?

完全错误

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

1 回答 1

0

这样做的原因是,对于零停机时间部署,旧版本和新版本同时运行长达两分钟,而路由层确保新请求转到新版本,而旧版本完成任何待处理要求。

为了避免使用免费的 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'] }'" %>
于 2013-11-29T08:34:59.250 回答