rails怎么连接mysql

rails怎么连接mysql,第1张

具体步骤如下:

1. 先确认自己的mysql服务进程mysqld在运行着,可以使用ps aux | grep mysql看看

2. Gemfile中加入gem 'mysql2'

3. 确认mysql帐号密码正确,一般安装好的都是mysql默认都是用户名root,无密码,这样是可以直接登录的

4. 你需要先使用mysql链接mysqld(第一步开启的服务端),之后手动创建blog_db数据库,rails是不会自动创建mysql的数据库的(里面的各个表你不需要创建,这是active_record的工作)。

用ruby on rails连接Mysql5.6时,出现了很多意想不到的问题

1   系统ubunt14.04,ruby 1.8.7,rails 2.3.11,mysql5.6

2 安装mysql客户端与服务器端

安装服务器端 sudo apt-get install mysql-server

安装客户端 apt-get isntall mysql-client

3 此时运行ruby on rails项目是,会报错,要求你 gem install mysql,安装mysql的驱动,

在rails2.2版本后,此驱动被移除了rails。

命令行运行gem install mysql,出现了如下错误

从网上查找了好多,比如复制mysql的lib中的文件等等,但是都没有效果,后来找了一方法

MYSQL API开发包     sudo apt-get install libmysqlclient-dev,运行后如图

此时再运行gem install mysql,结果如图

4 到此ruby on rails 的mysql驱动问题就已经解决了;

rails的确是来的方便,一个rails generate scaffold命令下来就可以生成view、controller和model的所有文件,然后再执行rake db:migrate就可以生成相应的数据库表结构。而就是这个简单的rake db:migrate却产生了预想不到的问题:

首先交代一下背景:rails创建项目时,默认使用了SQLite数据库。为了快速上手,我换成了MySQL,也修改了相应的配置文件config/database.yml。

第一个问题:

rake aborted!

uninitialized constant www.hbbz08.com Rake:DSL

原因:默认安装的rake版本过低,不兼容

解决办法:升级rake

步骤:1. 安装0.9.2版本的rake,gem install rake -version=0.9.2

2. 卸载原来版本(可以通过gem -list rake查看当前安装的版本), gem uninstall rake -version=0.8.7

3. 更新所有组件,bundle update

4.运行 rake db:migrate。于是出现第二个问题。

第二个问题:

rake aborted!

Mysql::Error: query: not connected: SHOW TABLES

原因:MySQL5.1自带的libmySQL.dll和当前的rails不兼容

解决办法:使用旧版本替换。

步骤:1. 下载旧版本的libmySQL.dll: ht/instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll

2. 将下载的文件放到%RUBY_HOME/bin目录下。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7184771.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存