如何在Ruby on Rails中连接MySQL?

时间:2013-03-25 11:20:20

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

我是Ruby on Rails的新手。我看过this tutorial,听起来很简单。

但是如何连接到我的数据库(MySQL)或Rails使用什么?在PHP我会用...

mysql_connect("...","...","...");
mysql_select_db("...");

我搜索了谷歌,找不到任何有用的提示。

3 个答案:

答案 0 :(得分:24)

查看配置文件config/database.yml

您需要在那里设置配置。以下是生产环境的示例:

production: 
   adapter: mysql2
   encoding: utf8 
   database: example 
   pool: 10 
   username: example 
   password: secure 
   socket: /var/run/mysqld/mysqld.sock 
   reconnect: true

除此之外,您还必须在Gemfile中添加gem 'mysql2'并运行bundle install

答案 1 :(得分:14)

您不必手动执行这些操作,请查看:http://guides.rubyonrails.org/configuring.html#configuring-a-database

答案 2 :(得分:6)

我的config/database.yml文件的内容:

# Ensure the MySQL gem is defined in your Gemfile
#   gem 'mysql2'
#
# Install MySql gem if not already there.
# Below command installs some pre-requisites for the installation:
#   sudo apt-get install libmysqlclient-dev mysql-client
# After above, this to finish gem installation:
#   gem install mysql2
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: YOUR_DATABASE_HERE
  pool: 5
  username: root
  password: root

正如配置上面的注释所说,您可能需要先通过终端安装mysql2 gem。安装完成后,执行bundle installrake db:migrate,然后也可以通过phpmyadmin访问数据库。

我在一小时前偶然发现了这个问题,两年多以后问这个问题。虽然我明白这已经很晚了,并且OP肯定已经解决了这个问题,为了像我这样的其他初学者用户可能会来这里寻求解决方案,我想在这里编写我的解决方案。希望它有所帮助。