Mac下Rails连接Mysql的一点点心得

首先附上我的工作环境

系统: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/

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

原文地址:http://ichou.cn/post/rails-with-mysql

你可能感兴趣的:(Ruby)