Windows7x64中Rails的MySQL驱动程序

Windows7x64中Rails的MySQL驱动程序,mysql,ruby-on-rails,windows-7,Mysql,Ruby On Rails,Windows 7,我在新安装的Windows7计算机上连接MySQL数据库时遇到问题。 我在尝试迁移数据库时遇到此错误 !!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. rake aborted! 193: %1 is not valid Win32 application - C:/Ruby/lib/rub

我在新安装的Windows7计算机上连接MySQL数据库时遇到问题。 我在尝试迁移数据库时遇到此错误

!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install 
the mysql gem and try again: gem install mysql.
rake aborted!
193: %1 is not valid Win32 application - C:/Ruby/lib/ruby/gems/1.8/gems/mysql-2.8.1-x86-mswin32/lib/1.8/mysql_api.so
我目前已经安装了

ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32]
mysql version 5.0.86  for Win64
gem 1.3.1
mysql-2.8.1-x86-mswin32

我花了几个小时试图让MySQL和Rails在Windows(尽管是XP,32位和64位版本)上运行良好。我最终放弃了,因为我的产品箱运行的是Linux(Rails和MySQL在Linux上运行得非常好),而只是使用SQLite 3进行开发。让它工作起来并不麻烦,而且它的运行速度足以满足开发目的


然而,我确实听说有人幸运地将gem提供的一个dll替换为官方MySQL发行版提供的一个dll。另外,有些人根本没有这个DLL,这导致了一些问题。最后,它对我没用,但希望你能有更多的运气。

我的同事在Windows7上运行rails时也遇到了类似的问题。
他必须将libmySQL.dll(路径中)替换为来自的libmySQL.dll。

这可能与此有关吗?如果是这样的话,修复方法又是什么(无法从第一个答案中找出)?

我对这个rails是新手。我刚刚在vista中通过了相同的问题。从InstantTrails下载libmySQL.dll(路径中)后,它开始工作


sukumaaar@gmail.com

另一个对我有效的选择是下载32位版本的mysql for windows,只保留libmysql.dll并将此dll的位置添加到windows路径。

将libmysql.dll从InstantTrails添加到我路径中的目录也对我有效。但是,我们不得不做这种事情,这真的很令人伤心。我希望看到gem或MySql本身正确安装此DLL。

我正在WinXP SP3上运行所有内容的当前版本:Ruby 1.9.2p0、MySql 5.5、MySql 2.8.1。这个问题仍然存在,为了解决它,我必须将libmysql.dll复制到我的C:\Ruby192\bin目录中。我最初复制了MySQL 5.5附带的libmysql.dll文件,但这导致了一个seq错误

对于Rails或DataMapper或任何与MySQL对话的工具,您需要在Rails\bin中安装一个32位驱动程序。驱动程序名为libmysql.dll。即使您有64位服务器,也需要32位驱动程序

64位驱动程序将失败。ruby/gems/1.8/gems/do_mysql-0.10.2-x86-mingw32/lib/do_mysql/1.8/do_mysql。因此:193:%1不是有效的Win32应用程序


错误的32位版本将因内存分配错误或类似错误而崩溃(建议从另一个项目获取libmysql.dll的解决方案可能不适用于较新版本的MySQL)。

此问题的解决方案是只需安装32位版本的MySQL。

快进到2012年3月。我在windows 7 x64上解决了这个问题,方法是重命名我的Ruby\b\bin\libmysql.dll,然后将libmysql.dll从C:\Program Files(x86)\MySQL\MySQL连接器C 6.0.2\lib\opt复制到Ruby\bin


在C:\Program Files(x86)\MySQL\MySQL Workbench CE 5.2.37上有一个更新版本的libmysql.dll,但gem不喜欢非6.x版本。

关于sqlite的好主意,但不幸的是,这两个版本都不起作用:\see@Darth-Man,太差劲了。我从来没有遇到过SQLite的问题。我的猜测是,这与64位或Windows7有关,而我在Mac上,所以我真的不能再做任何测试了。Rails还支持其他一些数据库。为了让你继续前进,你可以试试其中一种。@Topher-Fangio:不幸的是,你对Win7的看法是正确的。sqlite的问题是,我没有得到关于缺少dll的错误,它确实显示在Vista上,但Win7不知何故没有显示任何内容()。现在我正在使用SQLite进行开发,这非常好,因为我的生产服务器在Linux VPS上,所以没有问题。我在图像处理方面遇到了更多的问题,Vista x64上也充满了bug:(我想这是让人们切换操作系统的时候之一:)@Darth很抱歉听到它不起作用,但我已经开始期待Windows会出现这种情况。但另一方面,我的Mac电脑坏了,Java无法加载。重新安装后,我终于发现它在我的主目录中是一个“损坏”的文件,所以我猜每个操作系统都有它的怪癖。太棒了,它可以工作:)(在Win7和Vista机器上)。。。你救了我的命,非常感谢!因此,我无法在windows上进行rails开发。现在一切都好了。仅供参考,上面引用的路径是(默认情况下):C:\Program Files\MySQL\MySQL Server 5.1\bin\libmySQL.dll重命名该文件并将其替换为上述文件。谢谢,但是Rails(或MySQL)的下一次升级会发生什么?我们需要跟踪随机DLL吗?我们需要在这里和那里放置这些DLL以使其正常工作?对我来说似乎是一种恶作剧。我是RoR的新手,我真的很想体验一下我听了这么多的好处(来自C#,.NET世界)。我从高层理解开源、轻量级语言和框架的好处(与微软的堆栈相比),但我正在研究的一些奇怪问题的解决方案似乎非常“随机”。是我吗?;)赞美上帝。这个解决方案对我有效。我已经为此奋斗了一段时间,这让它工作了……就在我即将放弃的时候:)它不必是32位版本的mysql。您只需要32位mysql连接器。此链接详细讨论了此问题。上给出了此问题的详细讨论和解决方案