更正Ruby on Rails Database.yml文件的MySQL配置

Gee*_*Out 87 ruby mysql yaml ruby-on-rails

我有这个配置:

development:
  adapter: mysql2
  encoding: utf8
  database: my_db_name
  username: root
  password: my_password
  host: mysql://127.0.0.1:3306
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

Unknown MySQL server host 'mysql://127.0.0.1:3306' (1)
Run Code Online (Sandbox Code Playgroud)

有什么明显的东西我做错了吗?

Amo*_*tir 196

您应该将主机与端口号分开.你可以有一些东西,比如:

development:
  adapter: mysql2
  encoding: utf8
  database: my_db_name
  username: root
  password: my_password
  host: 127.0.0.1
  port: 3306
Run Code Online (Sandbox Code Playgroud)

  • 和主机不能是`host:localhost` (2认同)
  • 同样出于安全原因(如果您使用版本控制),您不应将数据库密码存储在“database.yml”中。相反,执行 user3118220 所做的并从您的环境中获取它:`password: ENV['MY_RAILS_APP_DB_PASSWORD']`。 (2认同)

pan*_*ang 17

你也可以这样做:

default: &default
  adapter: mysql2
  encoding: utf8
  username: root
  password:
  host: 127.0.0.1
  port: 3306

development:
  <<: *default
  database: development_db_name

test:
  <<: *default
  database: test_db_name

production:
  <<: *default
  database: production_db_name
Run Code Online (Sandbox Code Playgroud)