2

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

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

现在,

我有点不确定该怎么做。我读过我应该只更改database.yml.

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

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

如果是这样,这是如何完成的?为什么 SQLite 不要求用户和密码?

4

3 回答 3

2

database.yml这是mysql 作为 DB的文件片段。请确保mysql2在 Gemfile 中添加并运行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
于 2012-07-30T13:26:41.700 回答
1

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

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

于 2012-07-30T13:14:49.353 回答
1
  1. 使用 rails => Rails + MySQL 配置 MySQL
  2. 为什么 SQLite在 sqlite3 中不询问用户名/密码 => 用户名
于 2012-07-30T13:19:52.140 回答