ruby-on-rails-3 - mysqldump 阻塞 Ruby on Rails

标签 ruby-on-rails-3 mysqldump

这是一个比听起来更棘手的问题。我在许多服务器上运行 Ruby/MySQL 并使用 mysqldump 没有任何问题。但是,我使用的是 Ubuntu 设置,它的行为似乎与 Fedora 和 RHEL 大不相同。当我使用 mysqldump 备份生产服务器时,它导致 Rails 无法访问。 Apache 仍然能够提供图像并且 CPU/内存使用率很低,因此它似乎纯粹是与 RoR 和 MySQL 的竞争。我正在使用 InnoDB,它允许 mysqldump 在 Fedora 服务器上备份这个完全相同的数据库,而无需任何停机时间。但是,另一台服务器运行的是 Ruby 1.8.7 和 Rails 2.3。

这是完整的服务器规范:

Ubuntu 10
Rails 3
RVM
Ruby 1.9.2
Passenger
Apache
MySQL

额外的“线索”:

  • 我可以很好地连接到生产数据库并使用 mysql 客户端访问记录

  • 我可以使用 Rails 控制台加载生产环境并使用 ActiveRecord 查询表

  • 我无法通过 Apache/Passenger 访问生产网络服务器,也无法在使用 Webrick 运行生产实例时访问它(通过“rails s -e production”)

关于为什么 mysqldump 会阻塞 Rails(而且只阻塞 Rails)有什么想法吗?

最佳答案

所以这个东西有一个答案(来自上面的评论):

please use mysqldump with params --single-transaction – Neo Apr 22 at 14:59

关于ruby-on-rails-3 - mysqldump 阻塞 Ruby on Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5756589/

相关文章:

ruby-on-rails - 如何根据从下拉菜单中选择的值隐藏 Rails 3 表单的一部分

ruby-on-rails - 安装 rails 3 后如何访问 rails 2.3.x 命令?

javascript - 轨道 3 jQuery : How to alert id of td

ruby-on-rails - 如何捕获 Koala::Facebook::APIError OAuthException 或用户密码重置

sql - 删除表和列后 MySQL 中的可用空间?

mysqldump 返回未知变量 sql-mode 错误

mysql - 将 SQL 转储导入 MySQL 时出错 : Unknown database/Can't create database

ruby-on-rails-3 - 将 i18n 字符串与 HAML 中的变量连接起来

mysql - 将 mysql 转储发送到亚马逊 S3

mysqldump - 如何转储mysql数据库?