我开始不顾一切地尝试用ruby脚本连接到MySQL。
我已经放弃了DBI,因为无论我做什么,我似乎都不能让它工作。我觉得使用ruby-mysql中的mysql.rb可能会更幸运。然而,在使用它时,我得到了以下错误:
./mysql.rb:453:in `read': Client does not support authentication protocol requested by server; consider upgrading MySQL client (Mysql::Error)我从googling that error message了解到,这意味着我的MySQL版本太新,不支持老式密码。我在共享服务器上,没有超级用户访问权限,因此无法对MySQL配置进行建议的更改。
顺便说一句,我的版本是:
mysql Ver 14.7 Distrib 4.1.22, for pc-linux-gnu (i686) using readline 4.3有没有人成功地让ruby连接到MySQL?我一直在Windows下尝试,因为我在我的Windows机器上有管理员访问权限,但如果有一种方法可以在Linux上没有root访问权限,那就更好了。
发布于 2009-01-12 21:26:12
听起来你遇到了MySQL的怪癖。在5.0版本前后,他们更改了连接密码的格式。不过,这是一个简单的修复方法:http://dev.mysql.com/doc/refman/5.1/en/old-client.html
(还有,看看Ruby Sequel gem,它让你可以用各种数据库做一些真正有趣的事情,而且没有ActiveRecord的开销:http://sequel.rubyforge.org/documentation.html )
发布于 2009-01-12 21:05:28
这里有一个关于如何做到这一点的很好的总结:http://rubylearning.com/satishtalim/ruby_activerecord_and_mysql.html
发布于 2009-01-12 21:03:05
你想做什么?我认为可以使用Rails的ActiveRecord组件来建立到MySQL的连接。我会看看是否可以找到一些文档来支持这一点,然后我会更新这个答案。
link to ActiveRecord/MySQL integration
更新:要将ActiveRecord用于正在查找的目的,您将需要创建各种模型类,这些模型类表示您要从中提取数据的表,并指定它们之间的关系。完成此操作后,您将能够执行以下操作:
SomeModel.find(:all, :conditions => ['some_column = ?', some_value]我过去曾使用这种方法为我的Rails应用程序提供对WordPress数据的访问。
https://stackoverflow.com/questions/436980
复制相似问题