在Rails应用程序中设置MySQL

时间:2012-07-30 13:06:14

标签: mysql ruby-on-rails database ruby-on-rails-3 sqlite

我已经开始了一个新的rails 3.2项目,默认情况下它使用SQLite。

我的数据库中还没有数据,现在我打算使用MySQL,所以我在Gemfile中添加了gem'mysql2'并运行'bundle install'。

现在,

我有点不确定该怎么做。我已经读过我应该更改database.yml下的配置行。

但我想知道为什么我应该输入MySQL的用户名和密码值。

这些值是否应该在MySQL中手动设置?

如果是这样,这是怎么做到的?为什么SQLite不要求用户和密码?

3 个答案:

答案 0 :(得分:2)

以下是mysql的database.yml文件片段作为DB。请确保在Gemfile中添加mysql2并运行bundle install

# Ensure the MySQL gem is defined in your Gemfile
#   gem '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: example_development
  pool: 5
  username: root
  password: root

答案 1 :(得分:1)

http://www.tutorialspoint.com/ruby-on-rails/rails-database-setup.htm显示了您需要的语法的快速示例。你真的很接近,你只需要通过授予它对数据库的权限来创建一个新的mysql用户。

顺便说一下,这是我更喜欢用postgresql开发的原因之一。配置pg_hba.conf以向本地用户授予权限后,可以在database.yml中保留用户名和密码字段。当你将它与部署到heroku(它们用你的产品值覆盖你的database.yml)结合起来时,它会使管理(和共享)这个文件变得非常简单。

答案 2 :(得分:1)

  1. 使用rails =>配置MySQL Rails + MySQL
  2. 为什么SQLite不要求用户名/密码=> username in sqlite3