MySQL Rails 迁移错误 : "Error on rename of schema_migration (errno: -1)"

标签 mysql ruby-on-rails ruby rubygems

我是一名 PHP 开发人员,我是 Rails 的新手,但进展顺利,一切看起来都很简单。然而,直到今天早上我一直在使用 SQLite 并决定将我正在构建的东西转移到 MySQL。 rake db:create 完美运行,但是当我尝试 rake db:migrate 时出现以下错误:

rake aborted! Mysql::Error: Error on rename of './test_development/schema_migrations' to './test_development/#sql2-c7b-c' (errno: -1): CREATE UNIQUE INDEX unique_schema_migrations ON schema_migrations (version)

考虑到这可能是我的迁移脚本中的一个错误,我用最简单的表创建了一个干净的 Rails 项目并得到了同样的错误。所以,我重新安装了 MySQL 和 mysql gem,以确保它们都没有问题,但我仍然没有运气。这是我正在运行的版本:

  • rails 2.3.4
  • ruby 1.8.6
  • MySQL 5.1.40
  • MySQL gem 2.8.1

我感觉它可能与 InnoDB 相关,因为我之前在这个盒子上遇到过该引擎的问题。但是,如果有人能帮助我,我将非常感激,因为它阻止了我的进步。

谢谢,

基兰

更新: 根据 Phil 的要求,这里是以下结果:

SHOW ENGINE INNODB STATUS

SHOW VARIABLES LIKE 'innodb%'

最佳答案

你有 innodb_force_recovery选项设置为 6。这可能是从默认值 0 更改为修复较早的问题。在这种模式下,InnoDB 不允许除SELECTCREATE TABLEDROP TABLE 之外的任何操作。

尝试关闭 MySQL,然后编辑您的 my.cnf 文件。将 innodb_force_recovery 设置为 0(或删除该选项),然后重新启动 MySQL。

关于MySQL Rails 迁移错误 : "Error on rename of schema_migration (errno: -1)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1696342/

相关文章:

mysql - 如何优化sql select语句?

ruby-on-rails - 重构测试/规范是个好主意吗?

mysql - 在给定时间范围内按小时分组

MySQL - 存储过程 SQL 中的错误 1064

javascript - 未使用的 css - 你如何清理它?

ruby-on-rails - 从 Rails 发送邮件在控制台上有效,但在我的应用程序中无效...?

ruby - "class#method"在 ruby 中是什么意思?

ruby-on-rails - ObjectSpace.each_object(Foo).计数

ruby - 查找数组中最大元素的所有索引

java - AWS RDS 连接数据库错误 : com. mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure