日期:2014-05-16  浏览次数:20585 次

Rails2.2.3与MySQL 5.1.3不兼容致使db:migrate报错的解决办法
转自: http://ruby8.iteye.com/blog/603176
如果使用最新的Rails 2.2.3与MySQL 5.1.3进行开发,会遇到这个问题:
在rake db:migrate时报错,提示
Mysql::Error: query: not connected: CREATE TABLE `schema_migrations` (`version`
varchar(255) NOT NULL) ENGINE=InnoDB

检查日志,会发现即使配置完全没有问题,运行 ruby script/dbconsole 也能够正常连接上,migrate依然会报错。那么到底是为什么呢?
这是因为MySQL 5.1.3版本所带的libmysql.dll文件并不能很好的与Rails连接。所以你只需更换一个旧版本的libmysql.dll文件即可。
从http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll
处可以下载到旧版本的libmysql.dll文件,将其保存在ruby\bin\目录下即可。