新手问题 Mac 下 Rails 连接 Mysql 的一点点心得

IChou · 2012年09月08日 · 最后由 sensi 回复于 2014年02月23日 · 6059 次阅读

首先附上我的工作环境

系统:Mac OS X 10.7.4

Ruby:ruby 1.9.3p194

Rails:Rails 3.2.6

Mysql:5.5.27 MySQL Community Server

由于我手上的书籍都是从图书馆借来的,他们的rails版本普遍比较早,虽然都是默认mysql数据库,但都没提到rails与mysql的连接问题,在他们看来这似乎不需要任何说明的。

但事实是,这是个灰常严肃的问题!至少在我这个版本下是的。

按书上操作,只会得到一个结果

ActiveRecord::ConnectionNotEstablished

目前为止,这个问题百度无法解决,我是在一个视频中无意看到的

原来在这个版本里,gem里面内含了sqlite3的驱动包,但是没有mysql的,需要自己安装

安装方法:

1.cd到你的项目目录 比如我的是

cd ruby/demo

2.安装mqsql驱动包(插件)

gem install mysql

3.在项目的Gemfile文件中包含mysql驱动包

vi Gemfile

新加一行

gem 'mysql'

**感谢2L @ywjno 提醒 用Mysql2才是王道**

gem install mysql2

gem 'mysql2'

好,到这儿就安装完成了,重新启动WEBrick服务。这时你有可能得到两种结果:

成功了,或者报错:

undefined method 'init' for Mysql:Class

这又是怎么回事儿呢?

研究过Mac下Mysql与Apche连接的同学应该明白的,没错,因为Mac下Mysql的安装目录与Liunx等使用的默认安装路径是不一样的,rails去找默认路径当然找不到,这个时候只要只要导入mysql lib环境变量即可。

export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/

现在在运行,没问题了是不是? 文章大部分解说都是自己参详的,看我还在研究这个就能明白我也才入门的小白,若有错误之处,请各位大神指正!

共收到 10 条回复

这个确实是很新的新手问题

现在一般都用gem 'mysql2'

话说Mysql要收费了。。。

#2楼 @ywjno mysql2 与 mysql 的区别有什么?哪里有文档啊?

ruby-1.8 使用 mysql ruby-1.9 使用 mysql2 jruby 使用 activerecord-jdbcmysql-adapter

#5楼 @zhangyuan 看来我要学的还很多啊。。得加油

@xworm 其实你看一下redmine的Gemfile就明白用什么数据库驱动了 :)

#2楼 @ywjno gem 'mysql2'

王道。

我被提示安装这玩意:activerecord-mysql-adapter,但gem install 却安装不上,是什么情况?

为什么mysql2才是王道///?????????

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册